1、为mysql设置密码(密码为空时):
mysqladmin -u root passwd 123456
#passwd后无需添加单引号或双引号;
多实例:
mysqladmin -u root password oldboy -S /data/3307/mysql.sock
2、单实例命令行新密码替换旧密码:
mysqladmin -uroot -p123456 password 654321
#-p后不要有空格和标点符号;
是password不是passwd;
多实例命令行新密码替换旧密码:
mysqladmin -u root -poldboy password 123456 -S /data/3307/mysql.sock
#多实例就是多了一个指定 -S /data/3307/mysql.sock
3、sql语句密码修改:
多实例登录: mysql -uroot -p123456 -S /data/3307/mysql.sock
明文密码: -----------------------不可以直接登录--------------------
update mysql.user set password=‘654321‘ where user=‘root‘ and host=‘localhost‘;
权限刷新:
flush privileges;
查看密码:
select user,host,password from mysql.user;
指定函数加密密码:
update mysql.user set password=password(123456) where user=‘root‘ and
host=‘localhost‘;
注意where 必须指定条件,不然就全改了;password
()函数更改密码;
刷新权限:
flush privileges;
4、找回丢失的密码(思想就是跳过授权表):
单时例:
ⅰ:停止数据库;
最好是优雅关闭数据库 : mysqladmin -uroot -p shutdown
其次: /etc/init.d/mysqld stop
在万不得已的情况下使用pkill 、killall、kill -9 ,最好别用。强行终止数据库服务器时,会让数据库产生更多的文件碎片,当碎片达到一定程度时,数据库会崩溃。暴力不好!
ⅱ:在ps -ef | grep mysql检查数据库停止后;
/application/mysql/bin/mysqld_safe --skip-grant-tables & #跳过授权表
ⅲ:mysql 直接登录
ⅳ:update mysql.user set password=password(123456) where user=‘root‘ and
host=‘localhost‘;
flush privileges;
#设置密码即可;
重新启动数据库,重新登录。
多实例(思路和单实例大体相同):
ⅰ:停止数据库;
ⅱ:/bin/sh /application/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf --skip-grant-tables &
ⅲ:登录: mysql -S /data/3307/mysql.sock
ⅳ:update mysql.user set password=password(123456) where user=‘root‘ and
host=‘localhost‘;
flush privileges;
#设置密码即可;
重新启动数据库,重新登录。
-------------------------------------------------------------------------------------------
生产环境中一般要 删除无用的mysql库内的用户帐号;删除默认存在的test数据库;
1)、删除所有mysql中的用户,包括root超级用户;
mysql> delete from mysql.user;
Query OK, 8 rows affected (0.00 sec)
2)、增加system并提升为超级管理用,及和root等价的用户,只是名字不同;
mysql> grant all privileges on *.* to [email protected]‘localhost‘ identified by‘oldboy123‘ with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
-------------------------------------------------------------------------------------------
注:此处要了解上篇博文多实例的创建