MySQL 开发环境版本和生产环境版本不统一
我这里呈现了一个版本不统一的问题,公司服务器强制要求应用 mysql5.7.30 版本,然而我 mac 上本地是 mysql8.0 的版本。
解决方案:本地 docker 一个 5.7.30 的容器,映射到 3316 端口。
1、
docker pull mysql:5.7.30
目前公司用的这个 mysql 版本
2、mkdir -p ~/mysql5.7.30/data
创立 volume 文件
3、docker run -p 3316:3306 --name xtmysql -v ~/mysql5.7.30/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=cgz*****6 -d mysql:5.7.30
开启容器
4、本地 docker 镜像我就不新建一个用户去领有所有数据库的拜访权限了,因为间接用 root 了。
docker 装置 mysql
1、docker 装置并设置减速镜像
2、docker pull mysql:5.7.30
目前公司用的这个 mysql 版本
3、mkdir -p ~/mysql/data
创立 volume 文件
4、docker run -p 3306:3306 --name xtmysql -v ~/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xt****6 -d mysql:5.7.30
开启容器
5、docker exec -it [容器 ID] /bin/bash
进入 mysql 容器
6、mysql -u root -p
输出明码进入 mysql 对话环境
7、GRANT ALL PRIVILEGES ON *.* TO 'marhoo'@'%' IDENTIFIED BY 'very_strong_password_xxxxx';
mysql 对话中,执行这条命令。创立一个新的独立用户,领有所有数据库的拜访权限,且让该用户能够从任意近程主机登陆,能够应用通配符%
8、FLUSH PRIVILEGES;
而后 mysql 对话中,执行这条命令刷新权限信息
9、测试一下 user 组
mysql> use mysql
mysql> select host, user, plugin from user;
docker 装置宝塔 (为了环境洁净,套层 centOS 再往容器里装置)
指标是先装置一个 centos7,再往里装置宝塔
1、
docker pull centos:centos7
装置 centOS7
2、启动 centOS 容器
docker run -i -t -d --name baota -p 20:20 -p 21:21 -p 80:80 -p 443:443 -p 888:888 -p 8888:8888 --privileged=true -v /home/www:/www centos:centos7
#下面命令的意思是创立一个 docker 容易命名为 baota(名称大家自定义) 让他后盾运行,而后将宿主机的 20,21,80,443,888,8888 这五个端口映射到 docker 容器中去。并且将宿主机的 /home/www 文件夹映射到 docker 容器的 /www 下来 (留神:文件目录如果不存在。宿主机和容器会本人创立,无需手动创立)。privileged 示意在运行容器的时候,给容器加特权,设置容器有写文件的权限。
3、
docker exec -it baota /bin/bash
进入 centOS 容器
4、yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
装置宝塔
5、特地留神:为了可能保留(长久化)数据以及共享容器间的数据,docker 肯定应用 - v 挂载主机目录到容器,比方下面启动容器的 docker -v 参数。