centos7使用MariaDB

转载文章:https://blog.csdn.net/zwkkkk1/article/details/78444581?locationNum=10&fps=1

最近使用centos7,php nginx都采用编译安装,没用到数据库之前都用得好好的,今日想用的时候居然发现没有mysql服务。而centos 7之后开始改用MariaDB。这是什么鬼?

大致了解了下:https://blog.csdn.net/H12KJGJ/article/details/79616761

反正就是为了防止mysql以后的完全闭源而设计的一种mysql的替代品。

目前一般centos7的新主机都是自带MariaDB

安装命令

yum -y install mariadb mariadb-server

启动MariaDB

systemctl start mariadb

设置开机启动

systemctl enable mariadb

设置密码

mysqladmin -u root password 'root'

这样mariaDB就能在本机运行了,接下来要做的是,能够远程连接。(https://blog.csdn.net/u013474104/article/details/78465697)

1.直接修改表

命令行进入mysql,找到mysql数据库下的user表

mysql >select user,host from user ;

会发现host并没有支持所有(%)

centos7使用MariaDB_第1张图片

执行命令:

mysql>update user set host='%' where user='root' ;

此时会报错Duplicate entry '%-root' for key 'PRIMARY'

先忽略此错误,再次查看:

mysql >select user,host from user ;

发现已经有%:

centos7使用MariaDB_第2张图片

2.授权法:

参考文章:https://blog.csdn.net/u013474104/article/details/78465697

 

最后别忘了:flush privileges。

这样就可以通过navicat等连接数据库了

 

NOTE:可能遇到的问题

 

远程工具可连接上,在本地命令行mysql -uroot不用密码就可以连接上,但是不具有root权限:

原因其实很简单,mysql中一个用户名为空的访问本地权限的字段,所有登陆时优先匹配了这一条,就无法登陆了。

删除mysql.user表中 user字段为空的数据即可,然后flush privileges,就能正常登录了。

 

 

 

你可能感兴趣的:(centos7使用MariaDB)