查看当前登录用户: 创建用户: create user '用户名'@'主机地址' identified with mysql_native_password by '密码'; 修改密码: alter user '用户名'@'主机地址' identified with mysql_native_password by '新密码'; 原因是:在mysql 5.7.9版本以后废弃了password字段和password()函数,并加密方式默认不是使用mysql_native_password再mysql8以上版本中caching_sha2_password和sha256_password认证插件比mysql_native_password插件提供的密码加密更加安全,并且caching_sha2_password加密比sha256_password的加密性能更好。由于caching_sha2_password这样优秀的安全和性能特性,让他作为MySQL8.0的默认首选认证插件,这也是默认的认证插件插件而不是mysql_native_password。 所以mysql8默认是caching_sha2_password加密,5.7.9版本后的版本默认是mysql_native_password 可以在创建和修改时使用identified with mysql_native_password来指定加密方式 mysql8使用alter user来修改用户密码: 兼容8版本下的修改密码方式只需要将加密方式写成mysql_native_password即可: 官方手册 alert user的手册 官方解释文档手册地址 新密码认证方式,官方解释 检查用户信息: 命令: select user,host,plugin,authentication_string from mysql.user; mysql的用户信息都存储在mysql数据中的user表中,其实这就是查询这些对应字段而已 以上掌握了基本的用户创建,密码修改,和查看用户信息,但怎么修改一个账号的权限呢? 答: 授权所有权限 GRANT ALL PRIVILEGES ON *.* TO '用户名'@'主机地址'; 授权基本的查询修改权限,指定指定权限授权给账号 GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO '用户名'@'主机名'; select是查询 insert是插入 update是更新 delete是删除 create是创建 drop是删除 alter是修改等权限 查看用户权限 show grants for '主机名'@'主机地址'; |
|