Loading... ### 一、拉取镜像 可以去[https://hub.docker.com/](https://hub.docker.com/)找到当前mysql 8版本的最新版本, ![image-20231213142741511.png](https://blog.fivk.cn/usr/uploads/2023/12/59027597.png) 直接在Tags中搜索8,找到最新的版本 ![image-20231213142808279.png](https://blog.fivk.cn/usr/uploads/2023/12/730794638.png) 比如我这里最新稳定版是 ![image-20231213144041443.png](https://blog.fivk.cn/usr/uploads/2023/12/2641934163.png) 目前已经有8.1和8.2但是都是创新版本,不算稳定,暂时来说8版本最稳定的那就是8.0的最后一个版本(2023年12月13日) 每一次使用时可以去官网查看一下,从部署方面来说8版本方式不会有改变。这里我们直接使用docker拉取 ```shell docker pull mysql:8.0.36 ``` 你每次使用时可以去看看当前最新的,或许8.0又有修复了最新bug,或者8.x稳定版出了,多关注公告。 ### 二、检查镜像 ```shell sudo docker images ``` ### 三、创建映射文件 ```shell mkdir -p /docker/mysql/mysql-files mkdir -p /docker/mysql/conf mkdir -p /docker/mysql/logs mkdir -p /docker/mysql/data chmod -R 777 /docker/mysql ``` ```bash sudo docker run -p 3306:3306 --name mysql \ -v /docker/mysql/mysql-files:/var/lib/mysql-files \ -v /docker/mysql/conf:/etc/mysql/conf.d \ -v /docker/mysql/logs:/var/log/mysql \ -v /docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:8.0.36 ``` ### 四、进入容器设置root用户不限制ip连接 - 进入容器 ```bash sudo docker exec -it mysql bash ``` - 进入mysql ```shell mysql -u root -p 123456 ``` - 使用user数据库 ```mysql use mysql; ``` - 查看用户信息 ```mysql select host,user,plugin,authentication_string from mysql.user; ``` ![image-20231213150819288.png](https://blog.fivk.cn/usr/uploads/2023/12/3282197354.png) 备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码 ```bash #设置允许任意IP访问,执行语句: update user set host = '%' where user = 'root'; #给root授予所有权限和授权选项,让它可以访问和管理所有数据库和表。%表示允许所有ip, GRANT ALL ON *.* TO 'root'@'%'; #更新用户加密方式,mysql8默认的加密方式为caching_sha2_password 与mysql5的加密方式mysql_native_password 不同 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #刷新权限 flush privileges; ``` 最后修改:2024 年 03 月 05 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请随意赞赏