我是靠谱客的博主 傲娇龙猫,最近开发中收集的这篇文章主要介绍mysql8022改密码_mysql 8.0 修改密码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

mysql 的使用

我在使用 mysql 中的一些问题,其中有其他主机访问 mysql 失败的问题,修改用户密码失败的问题等,花了不少时间解决,其中修改用户密码花的时间最多,因为 mysql 8.0 之后取消了password() 函数并且将 mysql.user 表中的password 字段变成了 authentication_string 字段,导致网上一大堆教程都失去了作用,我也是尝试了多次才解决的这个问题,可能不是最好的,如果小伙伴有更好的解决方法,欢迎在评论区留言。

那么废话不多说,下面就是我解决问题之后的总结:

docker 启动 mysql

1. 启动

docker run --name containerName -p hostPort:containerPort -e MYSQL_ROOT_PASSWORD=your_password -d mysql

-p: 端口映射,mysql 容器端口指定了 3306,所以应该 your_port:3306

-e: 环境变量,设置 root 密码(必须有)

-d: 后台启动(可以没有)

--name:容器名(可以不写)

2. 在运行的容器中执行命令

docker exec -it containerID /bin/bash

-it: 分配终端并且交互式命令

3. 登陆 root 用户

mysql -h host -P hostPort -u root -p your_password

-h:登陆地址(不需要就不用写)

-P:前面自己分配的端口

-u:mysql 的用户

-p:密码

创建与删除用户

1. 标准格式

CREATE USER userName@host IDENTIFIED BY 'password';

host: 指定登陆地址(一般有localhost本地,%表示任意)

userName:要创建的用户名

'password':登陆那个用户需要的密码

2. 创建远程连接用户

CREATE USER userName IDENTIFIED BY 'password';

省略了 @host,这样写创建的是外部可以连接的用户

3. 删除用户

DELETE FROM user WHERE user='userName' and host='host';

设置权限

1. 标准格式

GRANT privileges ON datebaseName.tableName TO 'userName'@'host';

privileges:想要授予用户的权限

datebaseName.tableName:对哪个数据库的哪个表的权限,所有数据库下的所有表用 *.*表示

2. 授予用户所有库下所有表所有权限

GRANT all privileges ON *.* TO 'userName'@'%' WITH GRANT OPTION;

WITH GRANT OPTION: 授予用户授予其他用户权限的权限

3. 刷新权限表

FLUSH PRIVILEGES;

4. 查看权限

SELECT * FROM mysql.user WHERE user='userName' G;

更改用户密码

1. 清空用户的 authentication_string 字段

UPDATE mysql.user SET authentication_string='' WHERE user='userName' and host='host';

2. 更改密码

ALTER user 'userName'@'host' IDENTIFIED BY 'newPassword';

注意要从 root 用户才能修改密码

最后感谢观看~~~

最后

以上就是傲娇龙猫为你收集整理的mysql8022改密码_mysql 8.0 修改密码的全部内容,希望文章能够帮你解决mysql8022改密码_mysql 8.0 修改密码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部