在MySQL 8.0版本中开启远程登录详细的操作步骤
作者:好奇的菜鸟
有时数据库所在机器与项目运行的机器不是同一个,那么就涉及到远程链接数据库了,下面这篇文章主要给大家介绍了关于在MySQL 8.0版本中开启远程登录详细的操作步骤,需要的朋友可以参考下
前言
在MySQL 8.0版本中开启远程登录功能是一个相对简单的过程,主要包括几个关键步骤:登录MySQL服务器、修改用户身份验证方式、授权远程访问以及配置防火墙规则。以下是详细的操作步骤:
1. 登录MySQL服务器本地
首先,你需要以具有足够权限的用户(通常为root用户)登录MySQL服务器本地。在终端中执行如下命令:
mysql -u root -p
当提示输入密码时,输入你的MySQL root用户密码,然后回车,你将进入MySQL的交互式命令行界面。
2. 修改用户身份验证插件
MySQL 8.0默认使用caching_sha2_password身份验证插件,为了兼容更多旧版客户端,你可以将root用户的认证方式更改为mysql_native_password插件:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_strong_password';
请将 'your_strong_password'
替换为你要设置的root用户的远程访问密码。
3. 授权远程访问
接下来,你需要赋予root用户远程访问权限。若允许任意IP地址访问,执行:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
如果你想只为特定IP地址授权远程访问,可以这样操作:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'your_remote_ip' WITH GRANT OPTION;
将 'your_remote_ip'
替换为你希望允许远程连接的特定IP地址。
4. 刷新权限
为了让以上权限更改生效,执行以下SQL命令:
FLUSH PRIVILEGES;
5. 配置防火墙规则
确保服务器上的防火墙允许MySQL服务端口(默认为3306)的入站流量:
对于使用ufw防火墙的Ubuntu等系统:
sudo ufw allow 3306/tcp
对于使用firewalld防火墙的CentOS/RHEL系统:
sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload
6. 考虑SELinux设置(仅限SELinux启用)
如果你的系统启用了SELinux,可能还需要调整SELinux策略以允许MySQL接受远程连接。具体操作取决于系统的具体配置和SELinux策略。
注意:
- 上述命令中的用户名、密码和IP地址应替换为实际值。
- 在生产环境中,不推荐直接使用root账户进行远程访问,而是建议创建专门的远程访问用户并给予适当权限。
- 根据具体的安全策略和合规要求,务必遵循最小权限原则,仅向远程访问用户授予完成任务所需的最低权限。
总结
到此这篇关于在MySQL 8.0版本中开启远程登录的文章就介绍到这了,更多相关MySQL 8.0开启远程登录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!