mysql普通用户读取不到my.cnf root用户可以

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql普通用户读取不到my.cnf root用户可以相关的知识,希望对你有一定的参考价值。

1、首先你要确定你读取的哪个my.cnf,一般my.cnf会在/etc/目录下手动建立。
如果你没创建在这个目录下,就是用的默认的,看下位置,ps -ef | grep mysql 看下读取的哪个配置文件。

2、你看下这个目录下my.cnf有无让mysql用户有权限读取,
ls -ltr 两个用户分别是什么,例如下面这样mysql没有在属组中,所以没有权利查看
# ls -ltr /etc/my.cnf
-rw-r--r-- 1 root root 1007 Jul 25 2013 /etc/my.cnf
参考技术A 我们的智能机目前没有开放root权限。主要有两个方面的原因:
①root开放后,可能会导致手机使用异常,死机重启等问题。
②从安全角度考虑,一些非法程序,在不知情时劫持手机的通信功能、桌面等,会造成用户个人隐私和费上用的损失。且无法支持手机端或者vivo助手进行在线升级。因此不建议操作此功能,否则容易带来严重后果,并且root后导致的硬件问题售后是不予保修的。

MysqlMysql修改Root密码

1、用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 或者 nano /etc/my.cnf

2.在[mysqld]下添加skip-grant-tables,然后保存并退出

3.重启mysql服务:service mysql restart

4、重启以后,执行mysql命令进入mysql命令行

5、修改root用户密码

MySQL> UPDATE mysql.user SET Password=PASSWORD(\'新密码\') where USER=\'root\';

     5.7版本已经没有password字段了需要修改为

  UPDATE mysql.user SET authentication_string =PASSWORD(\'新密码\') where USER=\'root\';

MySQL> flush privileges;
MySQL> exit

6、最后把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql

 

mysql5.7 明明已经设置好密码,但还是提示要设置重置密码: PS还是5.7

错误:You must reset your password using ALTER USER statement before executing this statement.

解决办法:

step 1:SET PASSWORD = PASSWORD(\'your new password\');

step 2:ALTER USER \'root\'@\'localhost\' PASSWORD EXPIRE NEVER;

step 3:flush privileges;

以上是关于mysql普通用户读取不到my.cnf root用户可以的主要内容,如果未能解决你的问题,请参考以下文章

mysql8.0.x跳过权限效验,重置root密码

Mysql 忘记root密码处理办法

mysql5.7中root密码忘记后修改密码

MysqlMysql修改Root密码

重置mysql root密码

Centos7系统中Mysql登录忘记root密码