首先,MySQL 用户密码是一串由 41 个字符组成的哈希值。这个哈希值是通过使用 MySQL 内部的加密函数将用户密码转换而来。这个哈希值存储在 MySQL 的 user 表中,而不是存储用户的明文密码。
mysql>SELECT user, password FROM mysql.user; +------+-------------------------------------------+ | user | password | +------+-------------------------------------------+ | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | bob | *F3A2A51A9B0F2BE2468926B4132313728C250DBF | +------+-------------------------------------------+
对于安全性较高的建议将用户密码以 hash 形式存储)
如果需要修改或重置用户密码,可以使用 MySQL 的 SET PASSWORD 语句:
mysql>SET PASSWORD FOR 'bob'@'localhost' = PASSWORD('new_password');
这条语句会将 bob 用户在 localhost 主机上的密码设置为 new_password。
当然,也可以通过 MySQL 的 GRANT 语句来创建和管理 MySQL 用户和密码:
mysql>GRANT ALL ON database.* TO 'bob'@'localhost' IDENTIFIED BY 'bob_password';
这条语句会创建一个用户名为 bob,密码为 bob_password,只能在 localhost 主机上连接到 MySQL 数据库并获得对 database 的全部访问权限。
总之,对于 MySQL 用户密码,大家需要重视它的安全性和合法性,选择适当的加密方式,定期修改密码,并给用户分配适当的权限,以确保大家的数据库免受攻击和威胁。