ubuntu22.04安装MySQL8.0并远程连接(有root权限)

安装MySQL

sudo apt update
sudo apt install mysql-server

此时mysql服务应该已经自动开启

systemctl status mysql	//查看mysql运行状态

设置用户并更改密码

此时mysql默认创建了一个root用户,密码为空,可以直接登录

sudo mysql -u root	//注意一定要sudo!

更改root用户的密码

alter user 'root'@'localhost' identified with mysql_native_password by 'your_new _password';

设置mysql安全配置

sudo mysql_secure_installation

注意这里会让你输入密码的安全等级,如果你之前设置(或者没设置)的root用户密码不符合你输入的等级会让你更改密码
如果对密码安全性没有要求的话可以全部填n

配置远程连接

初始情况下有4个数据库,mysql数据库中user表的host属性代表该用户可以连接的ip地址

将root用户的host修改为‘%’,即表示任何ip都可连接

update mysql.user set host='%' where user='root';

image-20230308200034784

grant all on *.* to 'root'@'%';	//授予root用户所有权限
flush privileges;	//刷新

修改配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 0.0.0.0

port = 3306 //修改为你想为mysql配置的端口

image-20230308200318810

一定要重启mysql才能生效

systemctl restart mysql

或者

service mysql stop;
service mysql start;

开放端口

首先在腾讯云中的安全组或者防火墙(轻量级服务器)中将3306端口开放,如果此时仍不能连接请往下看

如果放开之后仍无法连接,则可能是服务器内部的防火墙对端口进行了限制,方法如下:

sudo apt install firewalld		//安装防火墙控制

注意,可能会出乱子导致xshell连接不上,原因是安装了firewalld后可能会把所有端口都进行限制,此时登录腾讯云=>vnc登录,然后输入:

sudo ufw disable

回到xshell,输入:

sudo ufw enable
sudo ufw allow 3306

此时就配置完毕了


ubuntu22.04安装MySQL8.0并远程连接(有root权限)
https://lmc20020909.github.io/ubuntu_mysql/
作者
Liu Mingchen
发布于
2023年3月8日
许可协议