linux 系统选择的是7.6 (8一下的版本)
1.docker安装
linux 8.0版本 一直安装不成功
命令:yum install docker-io
2.启动docker
命令:
service docker start
3.查看docker是否启动成功
命令:
ps -ef|grep docker

二,mysql 安装
1.指定安装版本
sudo docker pull mysql:5.7
2.创建实例并启动
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数说明
p 3306:3306:将容器的3306端口映射到主机的3306端口
v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
3.查看mysql是否启动;
docker ps #查看docker中已经启动的容器
docker ps -a #查看docker中所有的容器
4.进入到配置文件的目录 上面配置文件挂载主机的位置
cd /mydata/mysql/conf
5.使用vi my.cnf
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET MANES utf8'
character-set-server = utf8
collation-server = utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
#skip-grant-tables #如果你刚开始没有配置密码 需要把这个打开 登录是不需要密码 ,修改密码之后再把这个注释
#mysql解决5.7 group_by的一个问题
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
6.重启mysql
docker restart mysql
7.进去mysql命令
docker exec -it mysql /bin/bash

8、开启远程访问权限
云服务器中需要开始3306端口 服务器中防火墙开启需放行端口
命令:use mysql;
命令:select host,user from user;
修改密码:
命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
命令:flush privileges;
开启远程访问:
grant all privileges on *.* to 'root'@'%' identified by 'root';
flush privileges;

开机自动启动
docker update mysql --restart=always
docker设置开机自启也是一样
重启docker
命令:systemctl restart docker
关闭docker
命令:systemctl stop docker
遇到的问题;
如果docker中的某个容器一直处于exit退出状态 很有可能是因为文件配置出错。
本文详细介绍了在Linux 8.0系统上如何解决Docker安装问题,以及如何通过Docker部署并配置MySQL 5.7。步骤包括Docker的安装、启动,MySQL容器的创建、端口映射、数据持久化、配置文件修改、权限设置以及远程访问的开启。此外,还提到了如何使MySQL容器在系统启动时自动运行,以及处理可能的配置错误导致的容器退出问题。
268

被折叠的 条评论
为什么被折叠?



