Ubuntu22.04安装MySql

在Ubuntu上安装mysql就比较简单了

1、常规操作,更新软件包列表

apt update

至少安装之前看一眼版本吧

apt list mysql-server

嗯,是8.0.35版本的

2、安装mysql

apt install mysql-server

3、给root用户设置密码

# 第一次安装完无需密码,让你输入密码的时候按回车就行了
sudo mysql -uroot
# 进入mysql之后修改root的密码
alter user 'root'@'localhost' identified with mysql_native_password by '你的密码';
# 退出mysql
exit

可以看到,修改完之后再次登录,就需要输入密码了

3、创建新用户登录

如果你觉得使用root用户远程登录不安全,可以创建一个新的用户用于远程登录

# 先使用root账号登录mysql,然后创建新用户user1
CREATE USER 'user1'@'%' IDENTIFIED BY '新用户的密码';

# 给user1授予所有ip都可以登录  
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%'; 
 
# 刷新
FLUSH PRIVILEGES;

4、远程登录

Ubuntu22.04安装MySql_第1张图片

上来给我报了一个61的错误,应该是限制了ip的原因,登上mysql查了一下,之前已经给新添加的用于授予了所有host都可以登录的权限了呀

Ubuntu22.04安装MySql_第2张图片

只能去看mysql的配置了

vi /etc/mysql/mysql.conf.d/mysqld.cnf

果然,bind-address被限制成了本机,改成0.0.0.0就可以了 

Ubuntu22.04安装MySql_第3张图片

再次登录,还是报错,不过报错内容变了

Ubuntu22.04安装MySql_第4张图片

搜了一下,找到了原因

问题原因:mysql8版本之前的加密规则是mysql_native_password,在mysql8版本之后,加密规则更换成了caching_sha2_password。而我刚才创建新用户的时候并没有指定使用什么加密规则,默认就使用caching_sha2_password了,如果指定使用native的加密规则,就不会报这个错了

解决办法

1、把mysql用户登录密码加密规则还原成mysql_native_password

2、升级自己的链接工具,我这个是mac上的SequelPro,不好升级,所以我选1

先看一下现在用户密码的情况,果然新添加的用户用加密规则是caching_sha2_password

Ubuntu22.04安装MySql_第5张图片

修改起来也简单

#修改加密规则 
ALTER USER 'user1'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

#更新一下用户的密码
ALTER USER 'user1'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

#刷新权限 
FLUSH PRIVILEGES;

修改成功,测试可以登录了 

Ubuntu22.04安装MySql_第6张图片

 PS:如果以上步骤都操作了还是不行,估计是ECS服务器的安全组策略限制了3306端口的输入,配置一下规则就可以了

你可能感兴趣的:(云服务器,mysql,数据库)