设置Ubuntu允许远程连接MySQL,出于安全方面考虑MySql-Server 只允许本机(localhost, 127.0.0.1)来连接访问.若要允许其他用户远程连接MySQL需要修改用户设置。
配置如下:
1、修改 Mysql-Server 用户配置
mysql> USE mysql; --切换到 mysql DB
Database changed
mysql> select User, Password, Host from user; -- 查看现有用户,密码及允许连接的主机
用户设置的密码,mysql会自动加密。
-- 下面我们另外添加一个新的 root 用户, 密码为空, 允许 192.168.1.127和192.168.1.118 连接--
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.118' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.127' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
允许所有ip访问:
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY '';
-- 当然我们也可以直接用 update 更新 root 用户 Host, 但不推荐, SQL如下:
mysql> -- UPDATE user SET Host='192.168.1.118' WHERE User='root' AND Host='localhost' LIMIT 1;
2、修改 Mysql 配置文件 my.cnf
sudo vim /etc/mysql/my.cnf
bind-address = 127.0.0.1
将 bind-address = 127.0.0.1 这一行注释掉, 即修改为:
#bind-address = 127.0.0.1
至此 Mysql-Server 端配置就完成了。
然后重启 MySQL:
sudo /etc/init.d/mysql restart
OK !允许远程访问配置完成。