一、mysql设置密码的几种方法
新安装的mysql数据库是没有密码的
[iyunv@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外部(操作系统)设置密码
[iyunv@localhost ~]# mysqladmin -u root password '123456' ###此命令是在/usr/bin/mysqladmin中
[iyunv@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
[iyunv@localhost ~]# service mysqld stop
停止 mysqld: [确定]
2、跳过mysql权限后台启动
[iyunv@localhost ~]# /usr/bin/mysqld_safe --user=mysql --skip-grant-tables &
[1] 31755
[iyunv@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命令,进入数据库
[iyunv@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,再以正常方式启动
[iyunv@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
[iyunv@localhost ~]# service mysqld start
正在启动 mysqld: [确定]
[iyunv@localhost ~]#