Skip to main content

MYSQL 远程连接

·93 words·1 min
WFUing
Author
WFUing
A graduate who loves coding.
Table of Contents

mysql 有个很大的问题,就是忘记密码了怎么办,这个在之前遇到了,没有记录,下次遇到再记吧。

这次的需求是从本机连接到远方的mysql(这里把你面前的机器成为本机,安装mysql远程机器称为服务器),真是一段悠远的距离~

数据库内操作
#

  1. 创建或更新用户的密码:

如果用户已经存在并且你只是想更新其密码,请使用 ALTER USER 语句:

ALTER USER 'root'@'%' IDENTIFIED BY '123456';

如果用户不存在,请使用 CREATE USER 语句:

CREATE USER 'root'@'%' IDENTIFIED BY '123456';
  1. 授予权限

然后,授予用户所需的权限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
  1. 刷新权限

最后,刷新权限使更改生效:

FLUSH PRIVILEGES; 

MySQL配置文件
#

检查MySQL配置文件,确认 bind-address 设置:

确保MySQL服务器的配置文件允许远程连接(例如,/etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf 中的 bind-address 设置为 0.0.0.0 或者服务器的IP地址)。

[mysqld]
bind-address = 0.0.0.0

然后,重启MySQL服务:

sudo systemctl restart mysql

防火墙设置
#

确保防火墙没有阻止3306端口(MySQL默认端口)的连接:

sudo ufw allow 3306

或者使用 iptables 配置:

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

再次尝试连接
#

现在,尝试再次从你的客户端连接到MySQL服务器:

mysql -u root -h 你的IP -p