Docker安装Mysql最新版(Mysql8.0版)
Docker环境配置
1.输入一下命令,检测服务器是否安装docker ,如果没有安装,则会回复command not found
// 查看docker版本
docker -v
2.接下来安装docker了,先安装软件安装包,出现complete!说明安装成功!
// 软件安装包安装
yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加yum源
// 添加yum源
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
4.查看本服务器可以安装的版本
// 查看本服务器可以安装的版本
yum list docker-ce --showduplicates | sort -r
5.安装相应的版本即可,如果不知道安装哪个,就执行下面命令安装最新版本!
// 安装最新的版本
yum install docker-ce -y
6.启动docker,并设置docker开机启动
// 启动docker
systemctl start docker
//设置docker开机启动
systemctl enable docker
7.查看安装完成后的docker的版本信息
// 查看docker版本
docker -v
//查看docker具体版本信息
docker version
Mysql8.0配置
1.查看mysql镜像
// 查看mysql版本
docker search mysql
2.直接安装mysql,因为默认安装是latest版本的
// 查看mysql版本
docker pull mysql
3.设置docker-mysql的账号、密码、映射本地宿主机端口号和docker端口号
// 设置docker-mysql
docker run -it --rm --name ywjmysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
注:如果你的服务器已经安装过mysql,(端口3306已被占用),再在docker中安装docker-mysql(默认端口也是3306),如果都启用,会出现以下异常情况,端口号被占用!建议把原来的mysql服务停止或者修改docker-mysql映射的端口号
具体怎么改看个人喜好!我喜欢修改docker-mysql映射的端口号,因为这样我有两个mysql数据库,哈哈_!
// 设置docker-mysql
docker run -it --rm --name ywjmysql -e MYSQL_ROOT_PASSWORD=123456 -p 3316:3306 -d mysql
4.使用一下命令查看docker镜像中的正在运行的容器,可以清楚地看见刚才安装的mysql容器
// 查看已运行的容器
docker ps -a
5.进入mysql容器:
// 进入mysql容器
docker exec -it ywjmysql bash
6.在容器内登陆mysql
// 在容器内登陆mysql
mysql -uroot -p123456
7.查看用户信息
// host为 % 表示不限制ip localhost表示本机使用
select host,user,plugin,authentication_string from mysql.user;
//plugin非mysql_native_password 则需要修改密码
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
8.设置完成后就可以exit了;
//退出mysql
mysql>exit;
9.其他
//退出容器且关闭
ctrl+d
//查看无
docker ps
//退出容器但不关闭,
ctrl+p+q
//退出mysql
docker ps 查看有
注:
注意1
当前docker容器更新迭代速度也是很快,有的小伙伴docker用的还是很老很老的版本,如果想升级到最新版本,可以试试下面的命令:
// 停止docker服务
systemctl stop docker
//查看当前版本
rpm -qa | grep docker
// 卸载软件包
yum erase docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
//卸载相关配置文件
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /lib/systemd -name '*docker*' -exec rm -f {} \;
rm -rf /var/lib/docker
rm -rf /var/run/docker
执行完以上命令后,在执行docker -v命令,查看是否为command not found!
是则卸载完毕,执行本文开头部分安装docker,就可以安装最新版本docker!
如果没有出现,说明docker没有卸载干净!
注意2
估计有的小伙伴连接docker-mysql发现还是连接失败,或许你的端口被服务器拦截了,登陆控制台,放开端口即可!!
不明白怎么放开端口的可以参考这篇博客《如何在阿里云上搭建tomcat(最新版)》
最后
至此,我的服务器上就装下两个mysql了,一个mysql5.7的,一个mysql8.0的,想使用哪个就使用哪个,哈哈!