如何在MySQL 8.0版本中开启远程登录

本文涉及的产品
RDS AI 助手,专业版
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 如何在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账户进行远程访问,而是建议创建专门的远程访问用户并给予适当权限。
  • 根据具体的安全策略和合规要求,务必遵循最小权限原则,仅向远程访问用户授予完成任务所需的最低权限。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL 关系型数据库 MySQL
vb6读取mysql,用odbc mysql 5.3版本驱动
通过以上步骤,您可以在VB6中使用ODBC MySQL 5.3驱动连接MySQL数据库并读取数据。配置ODBC数据源、编写VB6代码
599 32
|
关系型数据库 MySQL Linux
MySQL版本升级(8.0.31->8.0.37)
本次升级将MySQL从8.0.31升级到8.0.37,采用就地升级方式。具体步骤包括:停止MySQL服务、备份数据目录、下载并解压新版本的RPM包,使用`yum update`命令更新已安装的MySQL组件,最后启动MySQL服务并验证版本。整个过程需确保所有相关RPM包一同升级,避免部分包遗漏导致的问题。官方文档提供了详细指导,确保升级顺利进行。
1568 16
|
关系型数据库 MySQL 数据库
MySQL高级篇——MVCC多版本并发控制
什么是MVCC、快照读与当前读、隐藏字段、Undo Log版本链、ReadView、举例说明、InnoDB 解决幻读问题
MySQL高级篇——MVCC多版本并发控制
|
关系型数据库 MySQL
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
389 5
|
关系型数据库 MySQL
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
345 1
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
783 5
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
1248 1
|
监控 关系型数据库 MySQL
如何升级mysql的版本
如何升级mysql的版本
1699 2
|
存储 监控 关系型数据库
如何升级MySQL版本?
如何升级MySQL版本?
1085 2
|
关系型数据库 MySQL Shell
MySQL数据库一键安装脚本,适合任何版本
MySQL数据库一键安装脚本,适合任何版本
1300 2

推荐镜像

更多