linux mysql设置密码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux mysql设置密码相关的知识,希望对你有一定的参考价值。

我进入mysql后执行了如下操作
mysql> update mysql.user set password='123456'where User='root';

然后退出。再进mysql还是不用密码。。
并且再也不能改密码

错误信息如下:
我进入mysql后执行了如下操作
mysql>use mysql
mysql> update user set password='123456'where User='root';

mysql> flush privileges;

mysql> quit ;

然后退出。再进mysql还是不用密码。。
并且再也不能改密码, 如果输入use mysql命令出现如下错误信息:
ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'

密码已经生效了;
ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'
这个提示告诉你你是用的空账号登陆的。

update user set password=password('123456') where User='root';

密码字段是加密的。
然后你再登陆的时候使用mysql -uroot -p然后输入密码,就是你上面的123456追问

试了一下是这样的结果
[root@test ~]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@test ~]#

追答

你的root@localhost的密码被你改错了。建议你重新初始化下mysql系统库,重置下root@localhost的密码。
因为你使用update user set password='123456'where User='root';这个语句激昂root的密码修改了,但是语法是错误的,mysql验证的时候是通过password('你输入的密码')这个函数来验证密码的,password('123456')的结果是*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
你如果想把密码修改为123456,可以有以下几个方法:
1、grant all privileges on *.* to 'root'@localhost identified by '123456';
2、update mysql.user set password=password('123456') where user='root'; flush privileges;
3、update mysql.user set password='*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' where user='root'; flush privileges;

参考技术A mysqladmin -u root password "123456" 参考技术B 试一下命令 #mysqladmin -u root password "123456"

linux下设置mysql密码之密码正确也无法进入

我本打算用python里的pymysql然后在使用lpthw.web撸个普通的由python写的博客,然后我就开始了我这两天掉坑之旅。
只是因为pymysql连接mysql数据库被 Access denied for user ‘root‘@‘localhost‘。呵,无情的拦截。
其实是因为mysql没有设置密码。其实你是设置了只是还有地方没配置好。
我用了两种方式:
一是(这个是不需要进mysql):
mysql_secure_installation
二是(这个需要进mysql里操作):
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘localhost‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;
flush privileges;
这两者其实都生效了,但你还是不用密码就登进mysql里了,是不是感觉很气。
$ sudo mysql -u root # 进入你的mysql

mysql> USE mysql;
mysql> UPDATE user SET plugin=‘mysql_native_password‘ WHERE User=‘root‘; # 只要把plugin修改成mysql_native_password就好了
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart # 重启mysql(windows则使用net stop mysql)

参考来源:http://stackmirror.caup.cn/page/s1jf9ragkt9w
参考来源:https://www.server-world.info/en/note?os=Ubuntu_18.04&p=mariadb&f=1












以上是关于linux mysql设置密码的主要内容,如果未能解决你的问题,请参考以下文章

linux下设置mysql密码之密码正确也无法进入

linux mysql设置密码

mysql 数据库密码怎么设置

linux怎么设置mysql root密码

Linux 上安装 Mysql 设置root密码问题

linux 重新设置mysql密码