macbook m1上docker安装mysql8

前提条件,已安装好了docker。
一、创建主机映射目录,data是存放数据的目录,config是存放配置文件的
mkdir -p /Users/你的实际名称/docker_volume/mysql8/{data,scripts,config}

二、data目录的权限设置
chmod -R 777 /Users/你的实际名称/docker_volume/mysql8/data

三、创建配置文件并输入以下配置

cat>/Users/你的实际名称/docker_volume/mysql8/config/my.cnf<<EOF
[mysqld]
default-authentication-plugin=mysql_native_password
user=mysql
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
EOF

四、创建脚本文件并输入以下SQL代码(给abc这个用户授权)

cat>/Users/你的实际名称/docker_volume/mysql8/scripts/abc.sql<<EOF
grant all privileges on *.* to 'abc'@'%' with grant option;
EOF

五、运行容器

docker run --name=mysql01 \
-e MYSQL_USER="abc" \
-e MYSQL_PASSWORD="abc123" \
-e MYSQL_ROOT_PASSWORD="abc123" \
-v /Users/你的实际名称/docker_volume/mysql8/config/my.cnf:/etc/my.cnf \
-v /Users/你的实际名称/docker_volume/mysql8/data:/var/lib/mysql \
-v /Users/你的实际名称/docker_volume/mysql8/scripts:/docker-entrypoint-initdb.d \
-d -p 3306:3306 mysql:8.0.31

六、其它
报下面的错
[ERROR] --initialize specified but the data directory has files in it. Aborting.
[ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
则清理
rm -rf /Users/你的实际名称/docker_volume/mysql8/data/
rm -rf /var/lib/mysql/*

七、删除不要的用户
docker exec -it mysql01 bash进入mysql容器
mysql -uroot -p以root用户登录
use mysql;
select user,host from user;发现root@%这个可从任意地址访问数据库的用户
删除用户drop user 'root'@'%';
生效flush privileges;
再查询select user,host from user;
退出exit;

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值