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 mysqlmysql> 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 参数。