如何在CentOS上实现远程访问MySQL数据库?

要在CentOS上远程访问MySQL,首先需要确保MySQL服务正在运行,然后编辑my.cnf文件以允许远程连接。为远程用户创建账户并授予权限。重启MySQL服务使更改生效。

在 CentOS 系统中,MySQL 默认只允许本地客户端连接,为了实现远程访问,需要进行一系列配置和修改,以下是详细的步骤:

一、安装与启动 MySQL

安装 MySQL

如果尚未安装 MySQL,可以使用以下命令进行安装:

sudo dnf install mysql80-server

启动 MySQL 服务

确保 MySQL 服务已启动:

sudo systemctl start mysqld

设置 MySQL 在开机时自动启动:

sudo systemctl enable mysqld

二、修改 MySQL 配置文件

编辑 my.cnf 文件

使用 vim 或 nano 等编辑器打开 my.cnf 文件:

sudo vim /etc/my.cnf

在 [mysqld] 部分添加或修改以下行:

bind-address = 0.0.0.0

这将允许 MySQL 监听所有 IP 地址上的连接请求。

重启 MySQL 服务

使配置生效,重启 MySQL 服务:

sudo systemctl restart mysqld

三、修改 MySQL 用户权限

登录 MySQL

以 root 用户身份登录 MySQL:

sudo mysql -u root -p

输入初始密码后,由于首次安装可能会有默认的临时密码,可以通过以下命令查找:

SELECT user, host, password FROM mysql.user WHERE User='root';

重设密码并允许远程访问:

-重置 root 用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
-允许 root 用户从任意主机访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_new_password' WITH GRANT OPTION;
-刷新权限
FLUSH PRIVILEGES;

请将your_new_password 替换为您的新密码。

四、配置防火墙

查看防火墙状态

检查防火墙是否开启:

firewall-cmd --state

如果没有开启,则开启防火墙:

systemctl start firewalld.service

防火墙的关闭和禁用命令如下:

关闭防火墙:

systemctl stop firewalld.service

禁用防火墙:

systemctl disable firewalld.service

添加 3306 端口监听

添加一个名为 mysql 的新的防火墙服务,并启用防火墙规则:

firewall-cmd --permanent --zone=public --add-service=mysql
firewall-cmd --reload

或者手动添加端口:

firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

五、测试远程访问

使用远程主机连接 MySQL

在另一台计算机上,尝试使用 MySQL 客户端连接你的 CentOS 服务器

mysql -h your_centos_server_ip -u root -p

输入密码后,如果能够成功登录,说明远程访问配置成功。

六、安全建议

1、使用强密码:确保你的 MySQL root 密码足够复杂。

2、限制访问源:不要将数据库完全暴露于互联网,可以设置 IP 白名单。

3、启用 SSL:考虑启用 SSL 加密,保护数据传输安全。

七、表格归纳

步骤命令描述
安装 MySQLsudo dnf install mysql80-server 安装 MySQL 8.0
启动服务sudo systemctl start mysqld 确保 MySQL 服务已启动
修改配置文件sudo vim /etc/my.cnf 将 bind-address 设置为 0.0.0.0
重启服务sudo systemctl restart mysqld 使配置生效
登录 MySQLsudo mysql -u root -p 以 root 用户身份登录 MySQL
修改用户权限ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_new_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
重置密码并允许远程访问
配置防火墙firewall-cmd --permanent --zone=public --add-service=mysql
firewall-cmd --reload
添加 3306 端口监听
测试远程访问mysql -h your_centos_server_ip -u root -p 在远程主机上测试连接

八、相关问题与解答

问题1:如何更改MySQL root用户的密码?

答案1:要更改MySQL root用户的密码,可以使用以下命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

然后执行以下命令使更改生效:

FLUSH PRIVILEGES;

问题2:如何在CentOS中卸载MySQL?

答案2:要在CentOS中卸载MySQL,可以使用以下命令:

sudo dnf remove mysql-server

以上就是关于“centos远程访问mysql”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/42401.html<

(0)
运维的头像运维
上一篇2024-12-31 05:20
下一篇 2024-12-31 05:26

相关推荐

  • Centos MySQL启动命令是什么?

    在CentOS系统中,MySQL的启动命令是数据库管理员日常操作中常用的基础指令,掌握其正确使用方法及相关的管理技巧对于系统维护至关重要,CentOS系统下MySQL的安装方式不同(如通过yum源安装、二进制包安装或源码编译安装),其服务名称和启动命令可能存在细微差异,但核心逻辑一致,以下将详细说明不同场景下的……

    2025-11-17
    0
  • Centos系统如何查看Java版本?

    在CentOS系统中查看Java版本是日常开发和运维工作中常见的操作,尤其当系统安装了多个Java版本或需要确认当前Java环境时,掌握正确的命令至关重要,以下是几种常用的查看Java版本的方法,涵盖不同场景和工具,帮助您全面了解系统中的Java版本信息,使用java -version命令查看当前默认Java版……

    2025-11-14
    0
  • 如何保障网页安全稳定的关键措施有哪些?

    保障网页的安全稳定是现代互联网运营的核心任务,涉及技术防护、管理规范和持续优化等多个维度,网页作为企业与用户交互的重要窗口,一旦出现安全漏洞或服务中断,可能导致数据泄露、业务损失和用户信任度下降,需要从系统架构、数据防护、访问控制、应急响应等方面构建全方位的保障体系,在系统架构层面,冗余设计和负载均衡是确保稳定……

    2025-11-08
    0
  • Centos如何进入命令行模式?

    在CentOS操作系统中,进入命令行模式是系统管理和日常维护的核心操作,尤其对于服务器环境而言,命令行模式提供了更高的效率和更直接的控制能力,CentOS作为基于Red Hat Enterprise Linux(RHEL)的开源衍生版,其命令行模式主要通过不同的运行级别(runlevel)或目标(target……

    2025-11-05
    0
  • Centos命令行如何重启Apache服务?

    在CentOS系统中,通过命令行重启Apache服务器是日常运维中的常见操作,Apache作为广泛使用的Web服务器软件,其稳定运行对网站服务至关重要,掌握正确的重启命令及相关参数,能够高效管理服务状态,确保服务及时更新配置或修复问题,以下是详细的操作步骤、注意事项及相关知识说明,在CentOS中,Apache……

    2025-11-04
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注