开篇先讲点废话:
最近忽然发现用来开发的电脑硬盘的剩余空间越来越小.没办法.只能删除一部分东西.但是突然发现很多东西其实都是自己想要留下的.纠结不已;所以准备把自己的mysql本地服务干掉.但有时候又会用到;所以准备将我的mysql 安装到我的虚拟机上;
看到这里是不是有些人会想到.你按到你的虚拟机中就不会占用磁盘了么.其实本人的虚拟机是安装到移动硬盘上的.所以是即插即用的.即使回家不带电脑依然可以有mysql服务.redis服务,电脑只需要配置JDK基本上就可以进行后端开发了,
OK.废话就到这里.开始干正事
在自己安装的mysql 中测试 发现一些问题 ..比如配置中没有配置大小写敏感,结果查询的时候造成不便,现在修订一下,博客名称也改变为
docker 安装 mysql 并挂载目录[修订版v x.x] ; 不断修正自己的博客为大家带来好的文章;
至于Linux Centos 的安装我就不做记录了;只要你有个镜像挂载就可以了;
本人使用的是centos 7.5
首先.在我们的电脑上安装docker
yum search docker
yum install docker
# 中途安装过程中停下了.看到提示Y/N 的就输入 Y
# 剩下的就是耐心的等待了
OK 安装好Docker后;
# 启动docker服务
systemctl start docker.service
# 开机启动docker
systemctl enable docker.service
docker search mysql
# 提一下.安装的时候我选择是5.7的版本.稳定好用.不收费
docker pull docker.io/mysql:5.7
# 等待镜像拉取成功
# 镜像拉取下来之后
docker images
# 查看镜像
# 下面开始建立自己要挂载的目录文件夹
# 本人喜欢把自己安装的东西放在opt 目录下面
# 到指定目录
cd /opt
# 级联创建目录
mkdir -p docker/mysql/data docker/mysql/conf
# 进入本地配置文件夹
cd /opt/docker/mysql/conf
# 创建配置文件
touch my.cnf
# 填写自己的mysql配置
vi my.cnf
# 我的配置.通常都是字符集与端口的配置,喜欢怎么配置可以自己配.也可以直接使用我的
[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 配置大小写不敏感
lower_case_table_names=1
# OK 最重要的一步
cd /opt
# 为我们的挂载目录赋予权限 很重要真的很重要.以后不论你们做什么镜像.凡是挂载目录切记要为目录赋予权限
# 否则.运行镜像后会发现statu 状态为exited
chmod -R 777 mysql
#------------------------修订-------------------------------------------#
# 但是这样并不是完美了,因为我们这样设定配置文件的权限也是最大的随意一个用户都可以修改,所以是不可
#以的.mysql 会自动忽略 我们挂载的my.cnf配置文件
#所以我们要修改配置文件的权限
cd /opt/docker/mysql/conf
chmod 644 my.cnf # 修改权限为只有root用户可以读可写
#-----------------------------------------------------------------------#
# 运行并挂载目录
docker run -it --name ocpmysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --privileged=true -v /opt/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/docker/mysql/data:/var/lib/mysql -v /opt/docker/mysql/logs:/var/log/mysql -d --restart=always mysql:5.7
# 参数解释
-- name 为你运行的镜像命名
-p 映射端口 虚拟机端口 : docker端口
-e 为mysql设置密码
-- privileged=true 为mysql获取root权限
-v 挂载目录/文件 虚拟机目录/文件:docker目录/文件
-d 守护进程后台运行
-it 启动并运行
--restart=always 在docker服务重启后,自动重启mysql服务,也可以吧docker 服务作为开机启动.这样mysql就可以跟着开机启动了
mysql:5.7 镜像名称:tag
# 跟着一步一步的弄下来一般不会出错
# 当镜像运行起来后.先不要急着从外部连接.还有一步很重要
# 那就是开通端口
# 查看那些端口已经开通
firewall-cmd --list-ports
# 开通端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 查看端口是否开启成功
firewall-cmd --zone=public --query-port=3306/tcp
# 端口开启成功
使用native 或者 SQLyog进行连接
这是我连接后.自己导入了一部分数据库.
因为这是我昨天安装后写的总结;如果大家按照我的博客在安装过程中有什么问题.可以留言.或者发送邮件到我的邮箱
我的邮箱:zhaluobox@163.com