Linux下给mysql开启远程访问权限
MySql出于安全方面的考虑只允许本机(localhost, 127.0.0.1)来连接访问,这对于在同一台服务器上的网站架构来说是没有问题的,但若要允许远程连接,就要自己动下手来设置下了。设置也很简单,通过以下几步就可以了。
1、登录Mysql:
[root@Linux ~]# mysql -u root -p
2、登录后,切换到Mysql表:
mysql> USE mysql;
3、查询user表中用户:
mysql> SELECT User, Password, Host FROM user;
4、重新授权一个新的用户DBuser, 设定密码为12345678, 只允许IP地址为192.168.1.100可远程连接到数据库DBname:
mysql> GRANT ALL PRIVILEGES ON DBname.* TO 'DBuser'@'192.168.1.100' IDENTIFIED BY '12345678' WITH GRANT OPTION;
5、刷新数据库:
mysql> flush privileges;
另:如果远程连接地址改变了,也要对应的更改数据库中的允许访问的IP地址,可以用update更新表:
mysql> UPDATE user SET Host='192.168.2.100' WHERE User='DBuser' AND Host='192.168.1.100';
或者开放更大权限,将IP地址替换为%,表示允许任意远程地址进行连接,如:
mysql> GRANT ALL PRIVILEGES ON DBname.* TO 'DBuser'@'%' IDENTIFIED BY '12345678' WITH GRANT OPTION;
mysql> UPDATE user SET Host='%' WHERE User='DBuser' AND Host='192.168.1.100';
允许任意远程连接,被入侵的风险更大,不建议。
如果要修改用户DBuser的密码为12345678,可以执行如下命令:
mysql> update user set password=PASSWORD('12345678') where user='DBuser';