MariaDB远程连接配置

由于MariaDB是由MySQL的一个分支发展起来的,二者的配置也大体相同。

1 wex@localhost:~# mysql -uroot -proot

 

进入MariaDB服务器,将mysql.user的host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。  

1 MariaDB [(none)]> use mysql
2 
3 Database changed
4 MariaDB [mysql]> update user set host = % where user = root;
5 
6 Query OK, 1 row affected (0.11 sec)
7 Rows matched: 1  Changed: 1  Warnings: 0

授予任何主机访问数据的权限:

1 MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO root@% IDENTIFIED BY root
2 WITH GRANT OPTION;
3 Query OK, 0 rows affected (0.00 sec)

刷新权限配置,使之生效:

1 MariaDB [mysql]> FLUSH PRIVILEGES;

然后就可以在其他任何地方主机上使用root登陆到数据库了。

可能会出现的问题:

连接到远程数据库时报如下错误:

1 C:\Users\wex>mysql -h remote.wex -uroot -proot
2 ERROR 2003 (HY000): Cant connect to MySQL server on remote.wex (10060)

问题出现的可能原因及相应的解决办法整理如下:

1. my.cnf 配置文件中 skip-networking 被配置

skip-networking 这个参数,导致所有TCP/IP端口没有被监听,也就是说出了本机,其他客户端都无法用网络连接到本mysql服务器

所以需要把这个参数注释掉。

2.my.cnf配置文件中 bindaddress 的参数配置

bindaddress,有的是bind-address  ,这个参数是指定哪些ip地址被配置,使得mysql服务器只回应哪些ip地址的请求,所以需要把这个参数注释掉。

3.防火墙的原因

通过 /etc/init.d/iptables  stop  关闭防火墙

我的问题,就是因为这个原因引起的。关闭mysql 服务器的防火墙就可以使用了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。