拉取镜像
1
| docker pull mysql:8.0.23
|

检查镜像

启动镜像
1 2 3 4 5 6 7 8 9 10 11
| sudo docker run -p 3306:3306 --name mysql \ -v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \ -v /usr/local/docker/mysql/conf:/etc/mysql \ -v /usr/local/docker/mysql/logs:/var/log/mysql \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:8.0.23
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
|

1
| docker logs -f mysql #查看启动日志
|
进入容器
1
| docker exec -it mysql bash
|
方法二
下载mysql
1
| docker pull mysql:8.0.23
|
创建文件夹做挂载
1 2 3 4 5
| //创建文件夹做挂载 mkdir -p /mydata/mysql/conf mkdir /mydata/mysql/data //创建my.cnf配置文件 vi /mydata/mysql/conf/my.cnf
|
my.cnf添加如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [mysqld] user=mysql character-set-server=utf8 default_authentication_plugin=mysql_native_password secure_file_priv=/var/lib/mysql expire_logs_days=7 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections=1000 lower_case_table_names=1 [client] default-character-set=utf8 [mysql] default-character-set=utf8
|
注意:
你的数据库要是从本地windows上迁移到linux的话,lower_case_table_names=1,这个一定要加上,不然的话要重新部署,很麻烦
创建容器
1 2 3 4 5 6 7 8 9 10
| docker run \ --restart=always \ --privileged=true \ -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf/my.cnf:/etc/mysql/my.cnf \ -v /mydata/mysql/conf/conf.d:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:8.0
|
进入容器
1
| docker exec -it mysql bash
|
进入mysql
1 2 3
| mysql -u root -p # 查看数据库 show databases
|