SQL学习-MySQL

mysql8.0客户端连接报错

原因: caching_sha2_password, 是mysql8.0的一个新特性, 默认使用该身份认证插件进行加密. 但是一些客户端, 诸如sequel pro, Navicat 不支持这种插件, 这个时候就会出现如上错误.

#修改加密规则 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)
#更新用户密码
mysql>  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Query OK, 0 rows affected (0.00 sec)
#刷新权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
#修改用户密码
mysql> alter user 'root'@'localhost' identified by '要设置的账户密码';
Query OK, 0 rows affected (0.00 sec)

mysql5.7使用

# 安装5.7版本
brew install mysql@5.7
# 安装完运行安全设置
mysql_secure_installation
# 修改绑定地址
sudo vi /usr/local/etc/my.cnf

bind-address = 0.0.0.0
#更新域属性,'%'表示允许外部访问
update user set host='%' where user ='root';
FLUSH PRIVILEGES;
# 授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
# 重启
brew services restart mysql@5.7

SQL教程:W3school

SQL练习网站:https://sqlbolt.com

Sequel Pro:https://sequelpro.com/test-builds