docker 虚拟mysql_虚拟机安装&docker mysql 初始化环境配置

虚拟机安装:

首先需要下载 iso 镜像, 这里用的是 centOS, 下载源用的 163的,国内镜像会快很多: http://mirrors.163.com/centos...

因为只作为服务器使用, 所以下载最小包就好了

5d191043537d44aa5386cf4674bf056c.png

下载完成以后这里使用的是 vmware 进行虚拟机安装, 这一步一直确认就好了,

安装完成后需要配置虚拟机静态ip, 防止以后每次重新连接的时候都需要修改ip,较为麻烦

静态ip设置:

设置虚拟机网关:

320a23ce09b0e4c2727c127e7a5149af.png

物理机网络:

5d2b6402670d6d1a4e2c3d68b2109736.png

a7715874d4668da683070840e99aab9f.png

编辑虚拟机网络:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

0372cb4004c62afab3a2be0b41da6f8a.png

ipaddr 即为你所指定的ip

重启防火墙

service network restart

这时已经可以使用连接工具连接上虚拟机了

docker 安装:

首先修改linux下载源 (各个发行版需要修改的地址可能不同):

cd /etc/yum.repos.d/

-- 复制一份源文件

mv CentOS-Base.repo CentOS-Base.repo_bak

curl http://mirrors.163.com/.help/CentOS7-Base-163.repo -o CentOS-Base.repo

yum clean all

yum makecache

yum repolist

ea6549c187179f207dde7764fff4358d.png

这个时候可能会提示没有 curl

yum -y install curl

下载docker:

curl -sSL https://get.daocloud.io/docker | sh

查看当前版本

docker -v

dbfb35a596858c240052607430ea8e9e.png

修改docker下载源:

vi /etc/docker/daemon.json

{

"registry-mirrors": ["http://hub-mirror.c.163.com"]

}

systemctl restart docker.service

mysql 下载:

docker search mysql

可以直接下载最新版本

docker pull mysql

也可以指定版本:

docker pull mysql:8.0.16

这一步时间可能略长

增加mysql配置文件

mkdir -p /opt/docker-mysql/conf.d

cd /opt/docker-mysql/conf.d/

vim config-file.cnf

[mysqld]

# 表名不区分大小写

lower_case_table_names=1

#server-id=1

datadir=/var/lib/mysql

#socket=/var/lib/mysql/mysqlx.sock

#symbolic-links=0

# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]

log-error=/var/log/mysqld.log

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

保存退出

增加数据文件夹

mkdir -p /opt/docker-mysql/var/lib/mysql

创建mysql镜像:

docker run --name mysql8 --restart=always -p 3306:3306 -v /opt/docker-mysql/conf.d:/etc/mysql/conf.d -v /opt/docker-mysql/var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.16

查看日志:

docker logs -f mysql8

这一步可能发现会报错: Permission denied 原因是CentOS7中的安全模块selinux把权限禁掉了

这里有几种方式可以解决: 目前采用最简单的一种,如果需要其他解决方式可自行百度

setenforce 0

重新启动:

docker restart mysql8

进入容器:

docker exec -it mysql8 bash

mysql -uroot -proot

需要注意的是mysql8 之后修改密码的方式改成了如下:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

设置root用户允许远程连接

select host,user from user;

0f307ee52bdf440aeb8cbb1942101d3d.png

update user set host='%' where user='root';

刷新缓存

flush privileges;

物理机连接成功:

2fa16b66b284110ae7dd00a6f0fe7f2c.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值