开启MySQL支持远程访问连接

1. 先从服务器上使用 root 进行登录

PS:刚安装完默认只能本地登录

# 执行下面命令输入密码,然后回车
mysql -u root -p

# 这里会有些不同,MySQL 安装完后:
# MySQL 5.7 的 root 密码为空,直接回车即可。
# MySQL 8.0 会为 root 一个随机密码,需要去文件中查看。
less /var/log/mysqld.log

2. 修改配置文件,允许远程登录

编辑 MySQL 配置文件,使用以下命令打开配置文件:

sudo vi /etc/my.cnf

在 [mysqld] 部分添加或修改 bind-address 配置项,将其设置为 MySQL 服务器的 IP 地址,如果要允许所有远程访问,则可以将其设置为 0.0.0.0:

bind-address = 0.0.0.0

保存并关闭文件。

重启 MySQL 服务以使更改生效:

sudo systemctl restart mysqld

3. 登录 MySQL 服务器,并授权远程访问的用户

sudo mysql -u root -p

在 MySQL 命令行中执行以下命令(假设远程访问用户为 root,密码为 password):

USE mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
flush privileges;
exit

4. 防火墙开放 MySQL 端口

检查防火墙状态:

sudo systemctl status firewalld

如果防火墙处于关闭状态,可以跳过此步骤。如果防火墙处于运行状态,需要开放 MySQL 服务的端口(默认为3306):

firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
#查看端口是否开放
firewall-cmd --list-all

扩展:通过更新host字段值实现远程连接

修改root的host为%表示支持任意主机可以远程连接,host为localhost表示仅本地登录,host为指定的公网IP地址表示仅支持指定的公网IP进行远程访问

Mysql>use mysql;
Mysql> select host,user from user;
Mysql>update user set host='%' where user='root';
Mysql>flush privileges

 

版权声明:
作者:WaterBear
链接:https://l-t.top/1764.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录