docker 安装mysql

挂载外部配置和数据安装

1.创建目录和配置文件my.cnf

mkdir /docker

mkdir /docker/mysql

mkdir /docker/mysql/conf

mkdir /docker/mysql/data

创建my.cnf配置文件

touch /docker/mysql/conf/my.cnf

my.cnf添加如下内容:

 

[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
max_connections =2000
max_user_connections=1000
lower_case_table_names=1
explicit_defaults_for_timestamp
sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

参数说明:

--lower_case_table_names=1 设置表名参数名等忽略大小写

-- max_connections =2000 最大连接数

-- max_user_connections=1000 最大用户连接数

-- explicit_defaults_for_timestamp TIMESTAMP如果没有显示声明NOT NULL,是允许NULL值的,可以直接设置改列为NULL,而没有默认填充行为,TIMESTAMP不会默认分配DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP属性。

-- sql-mode 几种模式说明如下:

2. 执行docker安装mysql命令

查看镜像可访问:https://hub.docker.com/_/mysql?tab=tags 

docker run -d -p 4306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name datadevs-mysql mysql:5.7

参数说明:

--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限

-v /docker/mysql/conf/my.cnf:/etc/my.cnf:映射配置文件

-v /docker/mysql/data:/var/lib/mysql:映射数据目录

安装成功后,执行docker ps命令查看

3. 如果需要修改配置文件my.cnf,有以下2种方式:

方式一、进入docker容器修改

输入命令:docker exec -it 5ce16216ce9d /bin/bash

进入dockers容器后,依次输入命令cd etc/mysql    vim my.cnf

在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这时候就需要安装vim

执行如下命令:

apt-get update

apt-get install vim

安装成功后即可通过vim编辑了,编辑成功后退出容器,通过命令docker restart 5ce16216ce9d 重启即可

方式二、通过配置文件在宿主机的映射路径/docker/mysql/conf/my.cnf,找到配置文件,通过vim修改即可,修改完后通过docker restart 5ce16216ce9d重启

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值