公司有一台服务器马上要到期了,于是新买了一台ECS服务器,原服务器系统是centos,但centos已经停止维护,所以新买服务器改为Ubuntu系统,mysql被甲骨文收购后存在闭源风险,同时网上多篇文章宣传mariadb的性能比mysql高一倍(没亲测,只是看网上的文章这么说),重新进行环境配置,全新环境所以索性把mysql数据库更换为mariadb数据库,安装mariadb数据库倒是简单,但是用navicat远程连接数据库的时候就不太顺利了,一直拒绝连接,经过仔细排查最终成功,现把具体方法说明如下:
1.在Ubuntu上安装mariadb数据库
sudo apt update
sudo apt install mariadb-server
安装完成后 ,MariaDB 服务将会自动启动。输入以下命令验证数据库服务器是否正在运行:
sudo systemctl status mariadb
2.维护 MariaDB(此段摘抄自网络)
MariaDB 服务器有一个脚本叫做mysql_secure_installation
,通过它你可以很容易提高数据库服务器的安全性。
不带参数运行脚本:
sudo mysql_secure_installation
根据脚本提示输入 root 密码:
Enter current password for root (enter for none):
由于没有设置 root 密码,所以这里仅仅输入回车"Enter"即可。
接下来,会提示是否为 MySQL root 用户设置密码:
Set root password? [Y/n] n
输入n
。在 Ubuntu 上, MariaDB 用户默认使用auth_socket
进行鉴权。这个插件会检查启动客户端的本地系统用户是否和指定的 MariaDB 用户名相匹配。
下一步,系统会要求移除匿名用户,限制 root 用户访问本地机器,移除测试数据库,并且重新加载权限表。如下所示,你只需要输入Y
:
Remove anonymous users? [Y/n] YDisallow root login remotely? [Y/n] YRemove test database and access to it? [Y/n] YReload privilege tables now? [Y/n] Y
3.设置root账号
登录mariadb的root账号默认是localhost,并且密码显示是invalid,输入以下命令查看:
> mysql //登录maria数据库,默认安装后root是免密登录的
>user mysql; //使用mysql库;
> select user,host,password from user; //查看账户信息
正常显示是:
root | localhost | invalid
需要更为:
root | % | 设置的新密码
1)先更改host字段为%
a)更改方法一:
编辑mysql.global_priv表:
UPDATE mysql.global_priv SET Host='%' WHERE User='root';
flush privileges;
b)更改方法二:
rename user 'root'@'localhost' to 'root'@'%';
2)更改root密码
set password =password('你的数据库密码');
4.用navicat远程连接
点击‘连接-MariaDB’弹出新建连接窗口,切换到SSH标签页,填写登录服务器的IP、用户名、密码
然后切回“常规”标签页,填写数据库的用户名、密码,注意主机IP一定要是localhost,点击左下角“连接测试”即可成功完成远程连接。
2013-2024 LifeAdd生活方式 www.lifeadd.cn 版权所有 | 御融(北京)科技有限公司 All Rights
Reserved
增值电信业务经营许可证:京B2-20200664 | 京ICP备14004911号-7