随笔 - 21,  文章 - 0,  评论 - 2,  阅读 - 56209
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

之前使用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   skyxia  阅读(2833)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示