CentOS7.6安装docker以及MySQL8.0.18

3 篇文章 0 订阅
2 篇文章 0 订阅

一. 安装docker

1.  添加安装包路径

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2. 刷新yum索引

yum makecache fast

 3. 通过yum安装docker

yum -y install docker

有的或许在安装之前还需要安装其他依赖(我这目前不需要)执行下边命令

yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

 4.通过命令

# 启动docker命令
systemctl start docker
# 添加开机启动
systemctl enable docker

到此docker就安装完成了

5. 添加国内镜像加速

# 到docker 配置目录下
cd /etc/docker/
# 执行一下命令 daemon.json这个文件存不存在无所谓
vim daemon.json
# 点击键盘上的 insert键 有的是 ins 然后输入以下内容
{
        "registry-mirrors":
                [
                "https://xxx.mirror.aliyuncs.com",
                "https://mirror.ccs.tencentyun.com",
                "http://hub-mirror.c.163.com"
                ]
}
# 我这里配置了三个  分别是阿里的镜像加速 腾讯的(只有腾讯云可用) 和网易的镜像加速 一般写一个就够了
# 阿里的需要登录阿里云镜像服务里获取
# 然后点击键盘的 esc 输出:wq
# 然后刷新配置
systemctl daemon-reload
# 重启docker
systemctl restart docker

二. 安装MySQL8.0.18

# 拉取MySQL8.0.18的docker镜像
docker pull mysql:8.0.18
# 设置挂在点(我是放到/home下) 执行一下命令
cd /home
mkdir docker
cd docker
mkdir docker-data
cd docker-data
mkdir mysql-data
cd mysql-data
mkdir data
mkdir log
mkdir my.conf.d
chmod 777 data
chmod 777 log
# data文件夹用于存放数据库数据文件  防止docker重启数据丢失 涉及读写所以需要赋予权限
# log文件夹用于存放数据库log日志  涉及读写所以需要赋予权限
# 在my.conf.d 编写mysql配置文件
cd my.conf.d
vim my.cnf
# 添加一下数据
[client]
# 默认字符集
#default-character-set=utf8

[mysql]
# 默认字符集
#default-character-set=utf8

[mysqld]
# 
server-id=01
port=3306
## 开启二进制日志功能
log-bin=mysql-slave-bin
## relay_log配置中继日志
relay_log=edu-mysql-relay-bin
# 忽略大小写
lower_case_table_names=1

pid-file= /var/run/mysqld/mysqld.pid

socket= /var/run/mysqld/mysqld.sock
# 数据库数据存放目录
datadir= /var/lib/mysql

secure-file-priv= NULL

# Disabling symbolic-links is recommended to prevent assorted security risks
skip-symbolic-links=0
# 最大链接数
max_connections=200
# 最大失败次数
max_connect_errors=10
# 默认时区
default-time_zone='+8:00'

character-set-client-handshake=FALSE

character_set_server=utf8mb4

# default-character-set=utf8

collation-server=utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'

# 默认使用‘mysql_native_password’插件认证
default_authentication_plugin= mysql_native_password

# Custom config should go here
!includedir /etc/mysql/conf.d/

 然后保存并退出  到此 mysql安装的准备工作完毕, 

2. 启动mysql

docker run \
    -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=你的密码 \
    -v /home/docker/docker-data/mysql-data/data:/var/lib/mysql:rw \
    -v /home/docker/docker-data/mysql-data/log:/var/log/mysql:rw \
    -v /home/docker/docker-data/mysql-data/my.conf.d/my.cnf:/etc/mysql/my.cnf:rw \
    -v /etc/localtime:/etc/localtime:ro \
    --name mysql \
    --privileged=true \
    --restart=always \
    -d mysql:8.0.18
# -p 映射宿docke端口号到宿主机端口号  左:宿主机端口号 右:docker端口号
# -e MYSQL_ROOT_PASSWORD  设置root用户密码
# -v 挂载点  左边为挂载宿主机目录 右边为容器目录 :rw 为可读写  
# 我们分别挂载刚在创建的数据存放目录 log存放目录 以及自定义配置文件 还有设置时区保证和宿主机一致

 到此mysql安装完毕,

执行命令: docker ps -a

执行命令 : docker logs -f --tail=20000 mysql   查看日志

没有报错说明MySQL安装并启动成功  但是 到此还不能进行navicat远程连接  所以进行一下步骤:

# 为了服务器安全 开启防火墙 设置开机启动 
systemctl start firewalld
systemctl enable firewalld
# 放开3306端口
firewall-cmd --add-port=3306/tcp

# 执行
docker ps -a

# 看到红框标注那个ID了么 没错 那就是容器ID
# 鼠标选中 用ctrl+instart 复制
# 输入 docker exec -it 复制的id(shift+insert粘贴) bash
docker exec -it 17159ea03ca2 bash
# 进入容器
# 执行
mysql -u root -p
# 输入启动上边数据的root密码 回车
# 然后创建用户
CREATE USER username IDENTIFIED BY 'password';
# 创建权限
GRANT ALL ON *.* TO 'username'@'%';
# 刷新权限
flush privileges;
# 查询用户 是否创建成功
select user,host from mysql.user;
# 那个框框里有说明创建成功  host里有% 说明是远程用户
# 然后输出exit退出mysql
exit
# 再次输入exit退出docker容器
exit

 到此 安装docker 以及 MySQL安装完毕 也可以用navicat远程登录了

如果是云玩家,到此还不能登录 请在您的云控制台实例安全组中开放您配置的mysql端口号!

 

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张仰泽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值