在Centos下启用mysql的远程访问账号

本文介绍如何设置MySQL以允许远程访问,包括创建具有完全权限的远程账号、修改防火墙规则以开放3306端口及重启服务等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在默认情况下mysql是不允许远程访问的.

现在需要添加一个可以具有原创访问的mysql账号(需要进入mysql命令行下):

GRANT ALL PRIVILEGES ON *.* TO remote@"%" IDENTIFIED BY '远程登录的明文密码' WITH GRANT OPTION;

执行如下语句生效:

flush privileges;

在centos默认情况下iptables是开启的,但并未开放3306端口,需要我们手动指定.

退出mysql,终端下输入:

vi /etc/sysconfig/iptables

添加如下字符串

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重启iptables即可:

/etc/rc.d/init.d/iptables restart

现在可以开始连接远程的mysql数据库了~

CentOS 系统上配置 MySQL 以支持远程访问,需要完成以下几个关键步骤: ### 配置 MySQL 用户权限 MySQL 默认只允许本地连接。为了启用远程访问,必须创建或修改用户权限,使其能够接受来自远程主机的连接请求。例如,可以使用以下 SQL 命令为特定用户授予远程访问权限: ```sql GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 上述命令中,`your_username` 是用于远程连接的用户名,`your_password` 是对应的密码,`%` 表示可以从任何 IP 地址进行连接 [^1]。 ### 修改 MySQL 配置文件 默认情况下,MySQL 的绑定地址是 `127.0.0.1`,这限制了只能通过本地访问。可以通过编辑 MySQL 的主配置文件(通常位于 `/etc/my.cnf` 或 `/etc/mysql/my.cnf`)来解除此限制。找到如下行并将其注释掉或修改绑定地址: ```ini # bind-address = 127.0.0.1 ``` 保存文件后重启 MySQL 服务以应用更改: ```bash systemctl restart mysqld ``` ### 开放防火墙端口 为了确保远程主机能够访问 MySQL 服务,需要开放服务器上的 3306 端口(MySQL 的默认端口)。可以使用以下命令来永久添加规则并重新加载防火墙: ```bash sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload ``` 这些命令将允许外部流量通过 3306 端口,并立即生效 [^2]。 ### 测试远程访问 完成以上步骤后,可以在远程计算机上使用 MySQL 客户端工具尝试连接到 CentOS 上的 MySQL 服务器。例如: ```bash mysql -h your_server_ip -u your_username -p ``` 其中,`your_server_ip` 是运行 MySQL 服务的服务器 IP 地址,`your_username` 是之前创建的具有远程访问权限的用户名 。 如果连接成功,则表示已经正确配置了 MySQL远程访问功能。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值