1.下载 mysql
docker pull mysql:5.7
2.启动mysql
docker run -p 23306:23306 --name mysql2 \
-e MYSQL_ROOT_PASSWORD=gaotao123823. \
-d mysql:5.7
说明
\ 换行符
name : 启动后在 doocker 中的名字 自定义
MYSQL_ROOT_PASSWORD : 启动的后设置的mysql密码
mysql:5.7 : docker中mysql 的版本
-p: 指定端口启动 完成第一步
3.进入容器
docker exec -it mysql2 /bin/bash
说明
5.x 的mysql 进入 是空的
mysql 默认是不支持 中文的 加上以下配置 防止中文乱码
4.编写追加 mysqld.cnf
cat <<END>>/etc/mysql/mysql.conf.d/mysqld.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
#指定端口
port=23306 #要和启动时 输入的端口一致
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
END
退出容器
5.把容器文件复制到宿主机
docker cp mysql2:/etc/mysql/mysql.conf.d/mysqld.cnf /root/test/my.cnf
6.删掉 mysql2 容器
docker rm -f mysql2
7.重新启动新的mysql
docker run -p 23306:23306 --name mysql2 \
-e MYSQL_ROOT_PASSWORD=gaotao123823. \
-v /root/test/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
-d mysql:5.7
8.测试端口
#进入容器
docker exec -it mysql2 bash
#登录mysql 使用23306端口
root@52d31ae65b78:/# mysql -u root -p'gaotao123823.' -h 192.168.5.75 -P 23306
#登录成功
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.38 MySQL Community Server (GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>