记录一些常用的函数和瞎折腾的过程……

Linux下给mysql开启远程访问权限

提醒:本文最后更新于 2510 天前,文中所描述的信息可能已发生改变,请谨慎使用。

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';