suse docker 安装mysql_Docker(三):Docker安装MySQL

查找MySQL镜像

镜像仓库

https://hub.docker.com/

下拉镜像

docker pull mysql:5.7

查看镜像

docker images

创建MySQL容器

命令式启动MySQL容器

docker run -p 3306:3306 --name mysql \

-v /mydata/mysql/log:/var/log/mysql \

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

-v /mydata/mysql/conf:/etc/mysql \

-e MYSQL_ROOT_PASSWORD=root \

-d mysql:5.7

参数说明

-p 3306:3306: 将容器的3306端口映射到宿主机的3306端口

--name mysql:将容器名字设置为mysql

-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到宿主机

-v /mydata/mysql/data:/var/lib/mysql:将数据文件夹挂载到宿主机

-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到宿主机

-e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码

-d mysql:5.7:后台运行容器,并返回容器ID

docker-compose启动

version: '2'

services:

mysql:

container_name: mysql

image: mysql:5.7

ports:

- "3306:3306"

volumes:

- /mydata/mysql/log:/var/log/mysql

- /mydata/mysql/data:/var/lib/mysql

- /mydata/mysql/conf:/etc/mysql

restart: always

environment:

- MYSQL_ROOT_PASSWORD=root

- COMPOSE_PROJECT_NAME=mysql-server

使用docker-compose方式启动可以很方便的查看容器的启动参数,命令启动方式可能会忘记启动参数。

查看容器

docker ps -a

进入容器

docker exec -it mysql /bin/bash

容器中文件

root@3873b46ee9b0:/# ls

bin boot dev docker-entrypoint-initdb.d entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

# 退出容器

root@3873b46ee9b0:/# exit;

就是一个linux系统。

配置MySQL

进入挂载数据卷

[root@k8s-master01 ~]# cd /mydata/mysql/

[root@k8s-master01 mysql]# ls

conf data log

[root@k8s-master01 mysql]# cd conf/

[root@k8s-master01 conf]# pwd

/mydata/mysql/conf

创建MySQL配置文件

cat > my.cnf <

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

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

EOF

注意:解决mysql连接慢问题,skip-name-resolve:跳过域名解析

重启MySQL容器

docker restart mysql

进入容器确认配置

[root@k8s-master01 conf]# docker exec -it mysql /bin/bash

root@3873b46ee9b0:/# cd /etc/mysql/

root@3873b46ee9b0:/etc/mysql# ls

my.cnf

root@3873b46ee9b0:/etc/mysql# cat my.cnf

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

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

测试连接

8c7c562d58c52373e460f002fbf23a16.png

Docker启动容器自启

docker update mysql --restart=always

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值