Linux修改MySQL root用户密码
以下命令适合修改任何mysql用户,仅以root为例(mysql 5.7以下)
一、拥有原来的myql的root的密码
# mysql -uroot -p
Enter password: 【输入原来的密码】(如果安装完mysql第一次设置root密码,则直接回车)
mysql>use mysql;
mysql> update user set password=password( "123456" ) where user= 'root' ;
mysql> flush privileges;
mysql> exit ;
二、忘记原来的myql的root的密码;
首先,你必须要有操作系统的root权限了。也就说需要以root的身份登录到操作系统,然后进行一下操作
1、编辑MySQL配置文件my.cnf
vi /etc/my .cnf
#编辑文件,找到[mysqld],在下面添加一行skip-grant-tables
[mysqld]
skip-grant-tables
:wq! #保存退出
service mysqld restart #重启MySQL服务
2、进入MySQL控制台
mysql -uroot -p
#直接按回车,这时不需要输入root密码。
3、修改root密码
update mysql.user set password=password( '123456' ) where User= "root" and Host= "localhost" ;
flush privileges;
grant all on *.* to 'root' @ 'localhost' identified by '123456' with grant option;
4、取消/etc/my.cnf中的skip-grant-tables
vi /etc/my .cnf
编辑文件,找到[mysqld],删除skip-grant-tables这一行
:wq! #保存退出
5、重启mysql
service mysqld restart
#重启mysql,这个时候mysql的root密码已经修改为123456
6、进入mysql控制台
mysql -uroot -p123456
注意:update user set password=password(“填入新密码”) where user=‘root’;报错
报错信息:
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
原因:
是从mysql 5.7开始,password字段被替换为了authentication_string
修改:
update user set authentication_string=password('填入新密码”') where user='root';
大功告成!
1、所有文章未经授权禁止转载、摘编、复制或建立镜像,如有违反,追究法律责任。
2、本站文章部分来源注册用户发布或互联网收集而来,若有侵权,请邮件联系作者。
邮箱地址:wtao219@qq.com
2、本站文章部分来源注册用户发布或互联网收集而来,若有侵权,请邮件联系作者。
邮箱地址:wtao219@qq.com
THE END
二维码