MySQL 5.8 初步使用

MySQL 5.8 新鲜出炉。但 MySQL 一贯的风格是,新版本一出,必定要整些妖蛾子出来折腾人。这个版本表现在两方面:

1、默认的用户登录方式中,密码的加密方式改了(怎么个原理我也暂时没整明白),导致我若干年来一直使用的 Navicat 无法连接到5.8版本的 MySQL 服务器。

后续版本的navicat 肯定会提供支持,但我们不能坐等。或者改用 mysql workbench,但那玩艺真用不习惯。

2、为用户添加可远程访问的主机IP的脚本语法不支持了。原来可以使用 grant all privileges on *.* to 'user'@'host' identified by 'password' with grant option; 可以授予一个主机访问服务器。但在5.8版本中,用这个脚本授权时会报语法错。

 

下面记录下我的处理过程:

1、5.8版本的 MySQL 服务器安装之后(我是在CentOS7操作系统上安装的),会在 /var/log 目录下创建一个 mysqld.log 文件,用vi 打开或者用 cat 命令查看,里面会有一个随机生成的初始密码,它是 root 的密码。

用这个密码以 root 账号登录。登录之后,马上修改 root 用户的密码。如果我没记错的话,这个初始密码登录一次之后就会失效(我没试过,也不想试,就当是真的吧):

alter user user() identified by 'MyPassword_123456';

从5.7开始,密码默认有长度、字符(字母、数字、符号)要求,如果想要使用简单密码,需要修改MySQL的密码策略。至于怎么修改密码策略,本文不说了,网上资料一大把。

2、允许远程访问

我不打算让 root 用户可以远程登录。于是创建一个新用户,然后授权可以远程登录。但原来的 grant all privileges ……语句不能用,而是分成了两步,选创建用户,然后再授权IP地址访问:

create user 'zhimin'@'%' identified by 'MyPassword_123456';

grant all privileges on *.* to 'zhimin'@'%';

3、修改密码验证策略(不管是不是叫策略,我不去计较了)

ALTER USER 'zhimin'@'%' IDENTIFIED WITH mysql_native_password  BY 'MyPassword_123456';

 

 

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值