码迷,mamicode.com
首页 > 数据库 > 详细

Linux下修改MySQL的用户(root)的密码

时间:2019-01-21 12:13:51      阅读:1301      评论:0      收藏:0      [点我收藏+]

标签:min   user   shel   大小写   tab   mysqld   file   文件   linu   

Linux下修改MySQL的用户(root)的密码

1 拥有旧MySQL的root密码

方法一

在mysql系统外,使用mysqladmin

# mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】

方法二

通过登录mysql系统,

#?mysql -uroot -p
Enter password: 【输入原来的密码】
mysql>use mysql;

# set和update 选择一个即可;
mysql>?set password=password(‘rootroot‘);  # set设置
mysql>?update user set password=password("test") where user=‘root‘;    # update更新
mysql>?flush privileges;
mysql>?exit;??????

2 忘记myql的root密码

首先,你必须要有操作系统的root权限了。
类似于安全模式登录系统,

2.1 关闭当前运行的mysqld服务程序

service  mysqld  stop(要先将mysqld添加为系统服务)

2.2 mysqld_safe以安全模式启动重置密码

使用mysqld_safe脚本以安全模式(不加载授权表)启动mysqld 服务

mysqld_safe --skip-grant-tables &

或者
/usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf? –skip-grant-tables &

&,表示在后台运行,不在后台运行的话,就再打开一个终端。

使用空密码的root用户登录数据库,重新设置ROOT用户的密码

# mysql

#5.6及以前
mysql>?UPDATE mysql.user SET password=password(‘test123‘) WHERE user=‘root‘;

# 5.7;mysql.user表authentication_string字段替换了password字段;
mysql> UPDATE mysql.user SET authentication_string=password(‘test123‘) WHERE user=‘root‘;   

mysql>?flush privileges;
mysql>?exit;?

本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。

2.3 通过修改配置文件重置密码

修改配置文件(/etc/my.cnf),在 [mysqld] 小节下添加一行:skip-grant-tables=1,让 mysqld 启动时不对密码进行验证

vim /etc/my.cnf
添加:
skip-grant-tables=1

重启mysql服务生效,修改方式同上;
修改完成后,在 [mysqld] 小节下去掉:skip-grant-tables=1

2.4 mysql 5.7 通过 alter 命令修改密码

mysql5.7默认生成随机密码,在初始化mysql配置时产生;
mysql 5.7:通过临时密码登陆mysql服务,必须用alter命令修改密码

mysql> alter user ‘root‘@‘localhost‘ identified by ‘rootroot‘;
mysql> flush privileges; 

Linux下修改MySQL的用户(root)的密码

标签:min   user   shel   大小写   tab   mysqld   file   文件   linu   

原文地址:http://blog.51cto.com/moerjinrong/2344904

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!