Linux下修改MySQL的用户(root)的密码
Linux下修改MySQL的用户(root)的密码
在网站建设、成都网站设计中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。成都创新互联公司专业成都网站建设十多年了,客户满意度97.8%,欢迎成都创新互联客户联系。
1 拥有旧MySQL的root密码
方法一
在mysql系统外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】
方法二
通过登录mysql系统,
# mysql -uroot -p
Enter password: 【输入原来的密码】
mysql>use mysql;
set方式;设置永不过期;
mysql> set password=password('rootroot'); # set设置
mysql> alter user 'root'@'localhost' password expire never;
mysql> flush privileges;
mysql> exit;
update 方式;
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 &
或者
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)的密码
分享链接:http://scyanting.com/article/jgcsoe.html