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

修改的用户都以root为列。
一、拥有原来的myql的root的密码;

方法一:
在mysql系统外,使用mysqladmin
[root@xuegod63 ~]# mysqladmin -u root -p password "test123"

Enter password: 【输入原来的密码】

方法二:
通过登录mysql系统,

mysql -uroot -p

Enter password: 【输入原来的密码】
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| ucenter |
+--------------------+
3 rows in set (0.00 sec)

mysql>use mysql; //一定要选择数据库
mysql> update user set password=passworD("test") where user='root'; //test是新密码
mysql> flush privileges; //刷新
mysql> exit;

二、忘记原来的myql的root的密码;
方法1

修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables

保存配置文件后,重启MySQL服务 service mysqld restart

mysql

方法2:

首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。
类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:
/etc/init.d/mysqld status
mysqld dead but subsys locked
这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop。

/usr/bin/mysqld safe --skip-grant-tables &

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

mysql

mysql> use mysql;
mysql> UPDATE user SET password=password("test123") WHERE user='root';
mysql> flush privileges;
mysql> exit;

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

原文地址:https://www.cnblogs.com/jiagouzhilu/p/5230409.html