【Ubuntu】MySQL配置远程连接
前言:本篇文章默认认为已安装好MySQL的用户名密码登操作。
博主的MySQL版本:MySQL8.0
一.修改 MySQL 配置文件
1.找到并打开MySQL的配置文件,通常位于
/etc/mysql/mysql.conf.d/mysqld.cnf(大概率,博主的是这)
或 /etc/mysql/my.cnf
sudo vim mysqld.cnf
2.找到“bind-address=127.0.0.1”并将其改为“0.0.0.0”,表示允许所有 IP 地址连接
如果你打开的文件没有这个,那一定是你打开错了,再找找。
说一下如何改:
1.通过箭头移动光标到改行的末尾
2.英文模式下按字母“i”键,进入Insert模式
3.按下退格键正常删除,改为0.0.0.0
4.按下Esc键退出Insert模式
5.输 入 :wq(冒号wq表示保存并退出)
二、创建远程用户并授予全限
1.登录MySQL(以root用户确保有足够的权限)
sudo mysql -u root -p
2.创建新的远程 root 用户:
CREATE USER 'root'@'%' IDENTIFIED BY '新密码';
3.授予权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
4.刷新权限:
FLUSH PRIVILEGES;
-
保留本地 root 用户:这样可以确保本地的
root@localhost
用户仍然存在,不会影响本地服务和脚本。 -
明确的远程访问:新创建的
root@'%'
用户专门用于远程连接,权限明确。
5.重启MySQL服务
sudo systemctl restart mysql
三、配置防火墙
1.确保防火墙允许 MySQL 的默认端口(通常是 3306)的流量。可以使用以下命令开放端口:
sudo ufw allow 3306/tcp
四、阿里云或其他云设置入站规则
如果你使用的是阿里这种云服务器,还需要设置其入站规则,开放3306端口