之前使用mysql一直使用root来连接登录数据库,现在想使用新的用户名来连接数据库,碰到数据连接不上的情况。

把这些记录下来,以备后用

1、首先,创建用户

CREATE USER 'xiazhenxing'@'localhost' IDENTIFIED BY 'root'; 

 

xiazhenxing:你的用户名

localhost:你的主机名

root:你的密码

2、给用户授权

grant all privileges on *.* to 'xiazhenxing'@'localhost';

 

all:给用户添加那些权限,有select,delete等,如果有多个可用逗号(,)分隔,全部权限使用all

第一个*:代表数据库名,全部数据可用*代替

第二个*:代表数据库下的表名,数据库下的全部表可使用*代替

'xiazhenxing'@'localhost':代表用户名和可访问的主机

3、刷新权限

flush privileges;

 

测试本地登录,连接成功

4、开启远访问

update user set host="%" where user="xiazhenxing";
flush privileges;

 

 

远程连接测试,成功

补充:如果你想只能限定某一台电脑访问数据,可将local改成指定电脑即可,如果不限制,可使用%

以上就是我设置的完整步骤。

在网上查找资料说是可以一步到位,在添加用户时就将localhost改成%,

我试了几次,均报错:1045-access denied for user 'root'@,使用命令行形式也连接不上。

 

mysql8的步骤也跟这个差不多,就是在第一次更新完权限(即第3步)测试本地连接可以后(使用命令行),添加以下两行命令

修改密码规则

ALTER USER 'xiazhenxing'@'localhost' IDENTIFIED BY 'Xia123456.' PASSWORD EXPIRE NEVER;

 

'xiazhenxing'@'localhost':用户名和登录地址

'Xia123456.':你的密码,注意去掉引号

更新密码(mysql_native_password模式)

ALTER USER 'xiazhenxing'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Xia123456.';

 

后接第4步……。

msqyl8默认使用caching_sha2_password方式加密,使用navicat或SQLyug连接,提示错误或更新客户端等

修改密码规则和更新密码后,就可用工具连接了。^@^

 

第一个是在win7环境下,使用mysql5.6免安装版

第二个是在centos7.5下,使用msyql8.0.13(mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar)

 

~~~~~~~~~~~~~~~完~~~~~~~~~~~~~~~~

                                                   2018-11-28  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

——

posted on 2018-11-28 18:04  skyxia  阅读(2814)  评论(0编辑  收藏  举报