方法
环境: Ubuntu20.04(x86_64) MySQL8.0.31
开端口
addtcp 3306
reufw
并且在阿里云的管理界面开3306端口.
改配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
其中bind-address
改为:(要不然只能在本地访问)
bind-address = 0.0.0.0
添加数据库配置
# 进入数据库
# mysql -uroot -p
# 输入
CREATE USER 'root'@'%' IDENTIFIED BY '<数据库密码>';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
百分号是通配符, 是指允许所有IP1.
更改密码的命令是:
ALTER USER 'root'@'%' IDENTIFIED BY '<新的密码>';
MySQL :: MySQL 8.0 Reference Manual :: B.3.3.2 How to Reset the Root Password;
重启MySQL服务
sudo systemctl restart mysql
可以通过port_status 3306
查看一下端口情况, 如果是下面这样:
tcp 0 0 127.0.0.1:33060 0.0.0.0:* LISTEN 19251/mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 19251/mysqld
25 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 ctstate NEW,UNTRACKED
那么就可以顺利访问了:
mysql -h<公网IP> -P3306 -uroot -p<密码>
否则可能需要kill -9
一下mysqld
.