MySQL MariaDB 远程访问设置

如何配置MySQL/MariaDB数据库的远程访问?

默认情况下MySQL是只能本地访问。通过IP访问会报如下类似的错误。

2003, "Can't connect to MySQL server on '192.168.44.130' ([Errno 111] Connection refused)"

can t connect to mysql server on xxx 10061

 MariaDB的修改方式类似。

在Ubuntu 16.04中,查看/etc/mysql/my.cnf 中的bind-address(早期版本)

或 查看 /etc/mysql/mysql.conf.d/mysqld.cnf 文件,注释掉 skip-external-locking 和 bind-address      = 127.0.0.1

两个配置。如下所示:

user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
#skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1

 重启MySQL服务。 service mysql restart

扫描二维码关注公众号,回复: 202688 查看本文章

(MariaDB配置文件: /etc/mysql/mariadb.conf.d/50-server.cnf)

添加远程访问用户和权限:

GRANT ALL ON testDB.* TO 'demo'@'192.168.44.130' IDENTIFIED BY 'demo' WITH GRANT OPTION;

flush privileges;

说明:

通过192.168.44.130远程地址访问MySQL server

用户名 demo 密码 demo,给该用户添加testDB数据库用所有表的全部权限(查询、删除、插入等),如果仅仅添加某些权限可以通过命令更新,如下只添加了查询和插入权限

GRANT SELECT, INSERT ON testDB.* TO 'demo'@'192.168.44.130';

添加完权限后,需要查看防火墙是否对3306端口开放。

最后,通过工具或程序即可链接远程MySQL服务器

猜你喜欢

转载自codyjava.iteye.com/blog/2409953