您的位置:首页 > 数据库 > MySQL

mysql关于用户密码的设置( 修改、重置、找回)

2015-01-04 20:12 645 查看
1.登录mysql
1.1单实例登录1) mysql 刚装完mysql无密码情况下登录2) mysql–u root 刚装完mysql无密码情况下登录 3) mysql–u root –p 标准的dba登录3) mysql–u root –p ‘密码’ 无交互登录。一般不用,容易泄漏密码登录成功后 提示:mysql>1.2 多实例登录 mysql –u root –S 指定mysql.sock文件的位置 提示:和单实例唯一的区别是多实例需要指定mysql.sock的位置2.修改用户密码
1.1交互式修改root密码

单实例:mysqladmin–u root –p password ‘新密码’

[root@Mysql ~]# mysqladmin -u root -p password 'jeck123'
Enter password:           ----->输入旧密码


多实例:mysqladmin –u root –p password ‘新密码’ -S mysql.sock的位置

[root@Mysql ~]# mysqladmin -u root -p password 'jeck123' -S/usr/local/mysql/tmp/mysql.sock
Enter password:          ----->输入旧密码
注意:若刚装完mysql,则root密码为空,直接回车即可1.2非交互式修改root密码

单实例:mysqladmin –u root –p‘旧密码’ password ‘新密码’(注意-p后面无空格)

[root@Mysql ~]# mysqladmin -uroot -p'jeck123' password '123jeck'


多实例:mysqladmin –u root –p‘旧密码’ password ‘新密码’ -S mysql.sock的位置

[root@Mysql ~]# mysqladmin -uroot -p'jeck123' password '123jeck'-S /usr/local/mysql/tmp/mysql.sock
这种用于非交互式修改密码,适用于脚本1.3在mysql数据库中修改密码方法一:(只能修改当前登录mysql用户的密码)
[root@Mysql ~]# mysql -uroot -p123jeck
Welcometo the MySQL monitor.  Commands end with; or \g.
YourMySQL connection id is 4
Serverversion: 5.1.56-log Source distribution
Copyright(c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Thissoftware comes with ABSOLUTELY NO WARRANTY. This is free software,
andyou are welcome to modify and redistribute it under the GPL v2 license
Type'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> setpassword=password('456jeck');
Query OK, 0 rows affected (0.00 sec)
mysql> flushprivileges;

Query OK, 0 rows affected (0.00 sec)
mysql> exit
方法二:(可以修改任意用户的密码,只要有修改权限)
[root@Mysql ~]# mysql -uroot -p456jeck
Welcometo the MySQL monitor.  Commands end with; or \g.
YourMySQL connection id is 6
Serverversion: 5.1.56-log Source distribution
Copyright(c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Thissoftware comes with ABSOLUTELY NO WARRANTY. This is free software,
andyou are welcome to modify and redistribute it under the GPL v2 license
Type'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> updatemysql.user set password=PASSWORD('789jeck') where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed:3  Warnings: 0

mysql> flushprivileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
3.找回用户密码
3.1关闭mysql
[root@Mysql~]# service mysqld stop
Shuttingdown MySQL. SUCCESS!
[root@Mysql ~]# netstat -lnt | grep mysqld
3.2用mysqld_safe启动mysql,需要加—skip-grant-tables(忽略授权验证)单实例:
[root@Mysql~]# /usr/local/mysql/bin/mysqld_safe--skip-grant-tables &   --->加&,使进程在后台运行
[1]28643
15010315:56:25 mysqld_safe Logging to '/usr/local/mysql-5.1.56/data/Mysql.err'.
15010315:56:25 mysqld_safe Starting mysqld daemon with databases from/usr/local/mysql-5.1.56/data

[root@Mysql ~]# mysql -uroot -p
Enter password:              ---->直接回车,因为已经忽略验证

Welcometo the MySQL monitor.  Commands end with; or \g.
YourMySQL connection id is 1
Serverversion: 5.1.56-log Source distribution
Copyright(c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Thissoftware comes with ABSOLUTELY NO WARRANTY. This is free software,
andyou are welcome to modify and redistribute it under the GPL v2 license
Type'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> setpassword=password('jeck123');            --->此方法不行
ERROR 1290 (HY000): The MySQL server is running with the--skip-grant-tables option so it cannot execute this statement

mysql> updatemysql.user set password=PASSWORD('jeck123') where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed:3  Warnings: 0

mysql> flushprivileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
多实例:
[root@Mysql~]# /usr/local/mysql/bin/mysqld_safe--defaults-file=/etc/my.cnf --skip-grant-tables &
[1]28643
15010315:56:25 mysqld_safe Logging to '/usr/local/mysql-5.1.56/data/Mysql.err'.
15010315:56:25 mysqld_safe Starting mysqld daemon with databases from/usr/local/mysql-5.1.56/data

[root@Mysql ~]# mysql -uroot -p   -S/usr/local/mysql/tmp/mysql.sock
Enter password:              ---->直接回车,因为已经忽略验证

Welcometo the MySQL monitor.  Commands end with; or \g.
YourMySQL connection id is 1
Serverversion: 5.1.56-log Source distribution
Copyright(c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Thissoftware comes with ABSOLUTELY NO WARRANTY. This is free software,
andyou are welcome to modify and redistribute it under the GPL v2 license
Type'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> updatemysql.user set password=PASSWORD('jeck123') where user='root';               ---->修改root密码
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed:3  Warnings: 0

mysql> flushprivileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
3.3重新启动mysql(必须重新启动)
[root@Mysql~]# service mysqld restart
Shuttingdown MySQL.150103 16:07:17 mysqld_safe mysqld from pid file/usr/local/mysql-5.1.56/data/Mysql.pid ended
SUCCESS!
StartingMySQL. SUCCESS!
[1]+  Done                   /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
3.4用新修改的密码就可以登录了
[root@Mysql~]# mysql -uroot -pjeck123

Welcometo the MySQL monitor.  Commands end with; or \g.
YourMySQL connection id is 1
Serverversion: 5.1.56-log Source distribution
Copyright(c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Thissoftware comes with ABSOLUTELY NO WARRANTY. This is free software,
andyou are welcome to modify and redistribute it under the GPL v2 license
Type'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 用户密码