tags: MySQL Server Ubuntu

方法

环境:
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;

百分号是通配符, 是指允许所有IP​​1​​.

重启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​​.

ref


  1. ​ubuntu - ERROR 1130 (HY000): Host ‘’ is not allowed to connect to this MySQL server - Stack Overflow​​; ↩︎