1. HTTP3W博客首页
  2. 技术
  3. Linux

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、原创文章,作者:诺米,如若转载,请注明出处:https://www.http3w.com/archives/415

2、本站内容若有雷同从属巧合,若侵犯了您的权益,请联系本站删除,E-mail: wtao219@qq.com

发表评论

您的电子邮箱地址不会被公开。

联系我们

254007489

在线咨询:点击这里给我发消息

邮件:wtao219@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息