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用户可以的主要内容,如果未能解决你的问题,请参考以下文章