解决Linux下普通用户无法使用root连接MySQL服务

写在前面

一般Linux新安装的MySQL,linux管理员(root用户)是默认可以登录的,直接用root用户登录Linux,直接执行mysql就可以进入,不需要密码,如果你没有(Linux)root用户的话,参照下面这个

https://jingyan.baidu.com/article/fd8044fa1e74035031137ae0.html

如果linux管理员(root用户)也无法直接登陆,可以尝试一下这个(接下来操作在管理员root权限下执行):

修改mysql登陆配置文件,我的mysql配置文件在/etc/my.cnf,有的mysql配置文件叫mysqld.cnf,不同mysql的配置文件名称路径还不一样。在这个配置文件中的[mysqld]这一块中加入skip-grant-tables这句话(这一行之后可以删掉),这样可以linux管理员(root用户)可以免密登陆mysql。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
skip-grant-tables


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

输入命令重启mysql

 /etc/rc.d/init.d/mysqld restart
#查看mysql运行状态
#service mysqld status

直接输入下面命令进入mysql,默认mysql数据库的root用户是没有密码的。

mysql

之后输入下列数据库指令修改root用户的密码为123。

flush privileges;
set password for root@localhost = password('123');

到此mysql数据库的root用户设置完成。

之后,开始解决问题

你会发现(Linux)普通用户是不能登录MySQL的root账号的,会提示没有权限,之后你执行下面我给的链接的代码就行了,(Linux)普通用户就能登录MySQL的root账号了。

解决Linux下普通用户无法使用root连接MySQL服务_许少年的读书笔记-CSDN博客

之所以打上括号(Linux)是因为别把MySQL的root用户和Linux的root用户弄混了,虽然都叫做root,一个是管理MySQL的root,一个是管理Linux的root。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值