大家好,我是邵奈一,一个不务正业的程序猿、正儿八经的斜杠青年。
1、世人称我为:被代码耽误的诗人、没天赋的书法家、五音不全的歌手、专业跑龙套演员、不合格的运动员…
2、这几年,我整理了很多IT技术相关的教程给大家,爱生活、爱分享。
3、如果您觉得文章有用,请收藏,转发,评论,并关注我,谢谢!
博客导航跳转(请收藏):邵奈一的技术博客导航
| 公众号 | 微信 | CSDN | 掘金 | 51CTO | 简书 | 微博 |
本教程主要是记录使用Docker安装MySQL8和MySQL5,亲测有效。
拉取mysql8.0镜像:
docker pull mysql:8.0
新建好挂载的地址:
mkdir -p /Users/shaonaiyi/app/docker/data/Mysql/Mysql8/{conf,data,log,mysql-files}
直接run一下,并且加上需要挂载的地址参数:
docker run --restart=always --name mysql8.0 \
-v /Users/shaonaiyi/app/docker/data/Mysql/Mysql8/conf:/etc/mysql/conf.d \
-v /Users/shaonaiyi/app/docker/data/Mysql/Mysql8/data:/var/lib/mysql \
-v /Users/shaonaiyi/app/docker/data/Mysql/Mysql8/log:/var/log \
-v /Users/shaonaiyi/app/docker/data/Mysql/Mysql8/mysql-files:/var/lib/mysql-files \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD='123456' \
-d mysql:8.0
说明:端口是3306,密码是123456。
执行命令如下:
docker exec -it mysql8.0 mysql -uroot -p123456
步骤与前面类似:
docker pull biarms/mysql:5.7.30-linux-arm64v8
注意:需要拉一个ARM版本的镜像,如果拉X86版本的,直接拉即可。
新建好挂载的地址(与前面步骤只差5和8的数字):
mkdir -p /Users/shaonaiyi/app/docker/data/Mysql/Mysql5/{conf,data,log,mysql-files}
新建my.cnf文件:
vim /Users/shaonaiyi/app/docker/data/Mysql/Mysql5/conf/my.cnf
文件内容为:
[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
#mysql5.7以后的不兼容问题处理
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
max_connections=200
#character-set-server=utf8
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
default-time_zone='+8:00'
[mysqld_safe]
log-error=/var/log/mysql/mysql.log
pid-file=/var/run/mysql/mysql.pid
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
直接run一下,并且加上需要挂载的地址参数:
docker run --restart=always --name mysql5.7 \
-v /Users/shaonaiyi/app/docker/data/Mysql/Mysql5/conf:/etc/mysql/conf.d \
-v /Users/shaonaiyi/app/docker/data/Mysql/Mysql5/data:/var/lib/mysql \
-v /Users/shaonaiyi/app/docker/data/Mysql/Mysql5/log:/var/log \
-v /Users/shaonaiyi/app/docker/data/Mysql/Mysql5/mysql-files:/var/lib/mysql-files \
-p 3307:3306 \
-e MYSQL_ROOT_PASSWORD='123456' \
-d biarms/mysql:5.7.30-linux-arm64v8 \
--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
说明:端口是3307(不能再使用3306,因为MySQL8已经占用),密码是123456。
执行命令如下:
docker exec -it mysql5.7 mysql -uroot -p123456
邵奈一 原创不易,如转载请标明出处,教育是一生的事业。