浅谈浅谈mysql8.0新特性的坑和解决办法新特性的坑和解决办法(小结小结)
主要介绍了浅谈mysql8.0新特性的坑和解决办法(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参
考。一起跟随小编过来看看吧
一、创建用户和授权一、创建用户和授权
在mysql8.0创建用户和授权和之前不太一样了,其实严格上来讲,也不能说是不一样,只能说是更严格,mysql8.0需要先创建用
户和设置密码,然后才能授权。
#先创建一个用户
create user 'hong'@'%' identified by '123123';
#再进行授权
grant all privileges on *.* to 'hong'@'%' with grant option;
如果还是用原来5.7的那种方式,会报错误:
grant all privileges on *.* to 'sroot'@'%' identified by '123123';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near 'identified by '123123'' at line 1
二、二、MySQL8.0 的远程链接的远程链接
MySQL8.0 安装完成后出现无法远程链接的现象,这是因为MySQL8.0 只支持 localhost 访问,我们必须设置一下才可以远程
访问。
具体设置步骤如下:
① 登录MySQL
执行命令为:mysql -u root -p
回车后输入密码
② 选择 mysql 数据库
执行命令为:use mysql;
查看mysql 数据库中存储的用户信息的 user 表。
③ 查看mysql 数据库的 user 表中当前 root 用户的相关信息
执行命令为:select host,user,authentication_string,plugin from user;
执行完命令后显示一个表格, root 用户的 host默认显示的 localhost,说明只支持本地访问,不允许远程访问。
④ 更改 host 的默认配置
执行命令为:update user set host='%' where user='root';
⑤ 刷新
执行命令为:flush privileges;
之前以为这样就行了,然后呢,在用navicat进行mysql的远程连接时,出现了弹窗报错:
出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是
caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成
mysql_native_password. 我用是第二种方式 :
评论0
最新资源