开启mysql 远程访问权限
mysql-server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 web-server 与 mysql-server 都在同一台服务器上的网站架构来说是没有问题的. 但随着网站流量的增加, 后期服务器架构可能会将 web-server 与 mysql-server 分别放在独立的服务器上, 以便得到更大性能的提升, 这样其他节点的web-server就不能链接到mysql,或者是我们用一些mysql可视化管理工具远程连接也连接不了的,此时 mysql 就要修改成允许进行远程连接.
1、登录mysql:
mysql -u root -p
输入密码
2、修改mysql用户配置
mysql> use mysql //切换到mysql DB
mysql> SELECT User, Password, Host FROM user; //查看现有用户,密码及允许连接的主机
从上图我们可以看到可链接用户列表、密码及可链接host
下面我们另外添加一个新的 root 用户, 密码为空, 只允许 192.168.0.68 连接,命令如下:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.68' IDENTIFIED BY '' WITH GRANT OPTION;
然后我们在看一下用户列表,可以看到我们添加的信息
当然 @'192.168.0.68'可以替换为@‘%’就可任意ip访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;
实际应用当中我们一定要设置密码哈!!!
3、添加完用户后要推送设置到内存
mysql> flush privileges; //这一步很重要哦
2022/08/11 更新
mysql 8.0.3版本:
查看 表的权限:
select host,user,plugin,authentication_string from mysql.user;
更新权限:
alter user 'root'@'localhost' identified with mysql_native_password by '663342whd';