一、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 ~]#