Docker | 基于docker安装mysql

15 篇文章 0 订阅

说明:Docker安装详见《docker的安装与更换yum源》教程

一、拉取Mysql镜像

1.1 查看mysql的docker镜像

docker search mysql

在这里插入图片描述

1.2 拉取mysql镜像

1.2.1拉取最新版mysql
docker pull mysql      
1.2.2 拉取官方特定版本

点击进入docker查看[tag] https://hub.docker.com/

docker pull mysql:[tag]
docker pull mysql:5.7.32

在这里插入图片描述

1.2.3 查看拉取的镜像
 docker images | grep mysql

在这里插入图片描述

二、启动Mysql

2.1 创建挂载目录

mkdir /usr/local/docker/mysql

2.2 复制挂载文件

2.2.1 可以通过本地文件直接复制
2.2.2 可以直接复制docker容器里的文件
2.2.2.1先启动用于复制文件的docker_mysql 容器
sudo docker run -d --name mysqltest mysql:5.7.32
2.2.2.2查看容器
 docker ps  

在这里插入图片描述

2.2.2.3复制容器中的文件到宿主机
docker exec -it [ID] /bin/bash

在这里插入图片描述

将mysql文件夹拷贝到/usr/local/docker/mysql下,并命名为conf。注意:conf文件复制前不能存在

docker cp [ID]:/etc/mysql /usr/local/docker/mysql/conf

将mysql文件夹拷贝到/usr/local/docker/mysql下,并命名为data。注意:data文件复制前不能存在

docker cp [ID]:/var/lib/mysql /usr/local/docker/mysql/data

将mysql文件夹拷贝到/usr/local/docker/mysql下,并命名为logs。注意:logs文件复制前不能存在

docker cp [ID]:/var/log/mysql /usr/local/docker/mysql/logs

2.3 启动容器

2.3.1 启动mysql docker容器

docker run \
-d \
--network=host \
--hostname=localhost \
--name mysql \
-v /usr/local/docker/mysql/conf/:/etc/mysql/  \
-v /usr/local/docker/mysql/data/:/var/lib/mysql/ \
-e MYSQL_ROOT_PASSWORD=string@1307 \
--restart=always \
mysql:5.7.32 \
--lower_case_table_names=1 

在这里插入图片描述

2.3.2 根据需要进入已启动的容器

docker exec -it [ID] /bin/bash

2.3.3 mysql的配置文件

vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/socket/mysql.sock

lower_case_table_names=1
skip-name-resolve
innodb_flush_log_at_trx_commit=0
sync_binlog=0
secure-file-priv=NULL
max_allowed_packet=10M
max_connections=2000
wait_timeout=3600
interactive_timeout=3600
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION


# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd


[client]
socket=/usr/local/mysql/socket/mysql.sock


[mysqld_safe]
log-error=/usr/local/mysql/logs/mysql.log

#
# include all files from the config directory
#
#!includedir /etc/my.cnf.d

三、Mysql授权登录

3.1 登录mysql

mysql -uroot -p

在这里插入图片描述

3.2 授权远程登录

  这里的root用户已经经过启动容器的时候进行了设置,所以就不用设置了。默认root是由所有权限,且允许任何主机登录的,这和源码安装的mysql是有所区别的。

3.3 验证连接

3.3.1 使用工具验证连接

在这里插入图片描述

3.3.2 验证大小写敏感

show variables like 'lower%';

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值