一、mysql设置密码的几种方法 新安装的mysql数据库是没有密码的 [root@localhost ~]# mysql -u root -p Enter password: ###此处为空,直接回车 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

设置方法: 1、在用root账号进入mysql后设置密码 mysql> set password=password('123456'); ###123456为密码 Query OK, 0 rows affected (0.00 sec)

mysql> set password=password(''); ###清除密码,现在为空 Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) ###刷新,使修改立即生效

2、在mysql外部(操作系统)设置密码 [root@localhost ~]# mysqladmin -u root password '123456' ###此命令是在/usr/bin/mysqladmin中 [root@localhost ~]# whereis mysqladmin mysqladmin: /usr/bin/mysqladmin

3、登陆数据库,切换到数据库后 mysql> use mysql; Database changed

mysql> UPDATE user SET password=PASSWORD("123456") WHERE user='root'; #大小写可忽略,123456即为设置的密码 Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0

mysql> flush privileges;

二、修改密码 1、进入数据库之后修改密码 mysql> use mysql;

mysql> update user set password = password('abcdef') where user = 'root'; ###abcdef为新密码

mysql> flush privileges;

2、在mysql外部(操作系统)修改密码 mysqladmin -u root password oldpass “newpass” 、

三、root密码丢失,恢复root密码 1、关闭mysql [root@localhost ~]# service mysqld stop 停止 mysqld: [确定]

2、跳过mysql权限后台启动 [root@localhost ~]# /usr/bin/mysqld_safe --user=mysql --skip-grant-tables & [1] 31755 [root@localhost ~]# 180406 19:52:45 mysqld_safe Logging to '/var/log/mysqld.log'. 180406 19:52:45 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

3、执行mysql命令,进入数据库 [root@localhost ~]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

4、修改密码 mysql> use mysql;

mysql> update user set password=password('123456') where user='root'; Query OK, 2 rows affected (0.00 sec) Rows matched: 3 Changed: 2 Warnings: 0

5、停止mysql,再以正常方式启动 [root@localhost ~]# service mysqld stop 180406 19:57:47 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 停止 mysqld: [确定] [1]+ Done /usr/bin/mysqld_safe --user=mysql --skip-grant-tables [root@localhost ~]# service mysqld start 正在启动 mysqld: [确定] [root@localhost ~]#