Docker安装MySQL8.0

1、通过Docker运行msyql8

mkdir -p /home/mysql8/data /home/mysql8/config  /home/mysql8/logs

docker run  -d  \
--name mysql8 \
--privileged=true \
--restart=always \
-p 3310:3306 \
-v /home/mysql8/data:/var/lib/mysql \
-v /home/mysql8/config:/etc/mysql/conf.d  \
-v /home/mysql8/logs:/logs \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai mysql:8.0.27 \
--lower_case_table_names=1  

–name mysql8:给容器命名
–privileged=true:给予容器额外的权限。这意味着容器将拥有主机系统的所有权限
–restart=always:服务器启动时,自启动
-p 3310:3306:端口映射,第一个 3310 是映射出去的端口,第二个 3306 是这个容器的端口
-v /home/mysql8/data:/var/lib/mysql:文件挂载, 前为宿主机的目录位置,后为容器内文件对应位置
-e MYSQL_ROOT_PASSWORD=123456:环境变量设置,此处是设置 ROOT 用户登录密码
-e TZ=Asia/Shanghai mysql:此处是设置 MySQL 的时区。
–lower_case_table_names=1:让表名忽略大小写

在这里插入图片描述

注意端口占用情况,netst -ano | findstr 3306

2、进入容器配置mysql远程连接

docker exec -it [容器名|容器id] bash
mysql -uroot -p
SELECT user, host FROM mysql.user;
#配置root远程连接,如果没有'root'@'%'用户,修改'root'@'localhost' 为'root'@'%'
update mysql.user set host = '%' where host = 'localhost' and user = 'root';
flush privileges;
# 修改root用户的密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

或者创建新用户并赋予权限
CREATE USER 'fox'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'fox'@'%';
flush privileges;

在这里插入图片描述

注:如果使用客户端连接提示了plugin caching_sha2_password错误,这是因为MySQL8.0的密码策略默认为caching_sha2_password(MySQL5.7无此问题)

update user set plugin = ‘mysql_native_password’ where user = ‘root’;flush privileges; # 刷新权限 权限更新后刷新才会起作用

3、通过Navicat远程访问mysql

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Evan Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值