允许root用户远程连接

警告:除非是出现了非常特殊的情况必须远程连接处理,否则不要轻易允许root用户远程连接。
警告:除非是出现了非常特殊的情况必须远程连接处理,否则不要轻易允许root用户远程连接。
警告:除非是出现了非常特殊的情况必须远程连接处理,否则不要轻易允许root用户远程连接。
 
连接数据库
[root@localhost ~]# /program/mysql/bin/mysql --socket=/dev/shm/mysql.sock -u root -p'密码'

允许root用户远程连接
mysql> USE `mysql`;
mysql> UPDATE `user` SET `Host` = '%' WHERE `User` = 'root'; -- 将用户的Host字段值改为%即可允许远程连接
mysql> FLUSH PRIVILEGES;
 
禁止root用户远程连接
mysql> USE `mysql`;
mysql> UPDATE `user` SET `Host` = 'localhost' WHERE `User` = 'root'; -- 将用户的Host字段值改为localhost或::1或127.0.0.1即可禁止远程连接
mysql> FLUSH PRIVILEGES;
重要说明:localhost表示仅允许本地连接,但并不是所有场景都适用,受MySQL版本和操作系统环境影响,有时可能需要使用::1,有时可能需要使用127.0.0.1,这需要尝试并确定到底是哪一个,以确保程序能正常连接数据库。

如果启用了防火墙还要放行或屏蔽3306端口
[root@localhost ~]# firewall-cmd --zone=public --remove-port=3306/tcp --permanent # 屏蔽3306端口,禁止root用户远程连接时设置
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent # 放行3306端口,允许root用户远程连接时设置
[root@localhost ~]# systemctl restart firewalld.service # 重启防火墙使设置生效

Copyright © 2024 码农人生. All Rights Reserved