场景:arm架构下,mysql只支持8.0  ,mysql5.7不支持,采用docker镜像模式安装

docker pull biarms/mysql:5.7.30-linux-arm64v8   #支持arm架构的mysql 5.7镜像包

1、拉取镜像

docker pull biarms/mysql:5.7.30-linux-arm64v8

2、创建mysql容器目录

mkdir -p /data/mysql/{conf,data,logs}

3、新建my.cnf配置文件

vim /data/mysql/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/

4、运行容器

docker run -p 3306:3306 --name mysql5.7 \

-v /data/mysql/conf/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \

-v /data/mysql/logs:/var/log/mysql \

-v /data/mysql/data:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=jxd83664567 \

-d biarms/mysql:5.7.30-linux-arm64v8

说明:

-p 3306:3306 容器内部端口和服务器端口映射关联

--privileged=true 设置mysql用户,否则外部不能使用root用户登录

-v /data/mysql/conf/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf 服务器的

/data/mysql/conf/my.cnf配置映射到docker的my.cnf

-v /data/mysql/data:/var/lib/mysql 映射数据库的数据目录,避免docker删除重新运行mysql容器,导致数据丢失

-e MYSQL_ROOT_PASSWORD=123456 设置root账号的密码

--name mysql mysql:5.7 从docker镜像mysql:5.7启动一个容器,并设置容器的名称为mysql

--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设置数据库默认编码

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐