1、先查看是否已安装mysql镜像
docker images
2.下载mysql镜像
docker pull mysql:latest(表示安装mysql最新版本)
docker pull mysql:5.7(表示安装mysql指定版本5.7)
3、查看镜像是否下载成功,存在mysql表示已下载成功
docker images
4、创建mysql外部映射文件
mkdir /opt
mkdir /opt/mysql
mkdir /opt/mysql/conf
mkdir /opt/mysql/data
5、创建并修改my.cnf配置文件
vim /opt/mysql/conf/my.cnf
6、my.cnf添加如下内容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
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
server_id=100
default-time-zone = '+8:00'
## 开启二进制日志功能,可以随便取(关键)
log-bin=mysql-bin
lower_case_table_names=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
7、启动mysql,创建端口号密码,并映射刚刚创建的my.cnf配置文件
docker run -d -p 3306:3306 --privileged=true -v /opt/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysqltest mysql:5.7
参数说明
8、测试my.cnf配置文件是否成功
在数据库中执行show variables like '%log_bin%',判断log_bin的value值是ON还是OFF即可
(1)去掉my.cnf中log-bin=mysql-bin保存,重启mysql容器后(重启命令docker restart ID(容器ID)),去运行“show variables like '%log_bin%'”,log_bin的value值是OFF。
(2)在my.cnf中添加log-bin=mysql-bin保存,重启mysql容器后(重启命令docker restart ID(容器ID)),去运行“show variables like '%log_bin%'”,log_bin的value值是ON。
参数变化表示配置文件映射成功
9、数据库创建成功,使用连接工具连接mysql数据库即可。
仅供参考,希望对您有所帮助,感谢阅读。