注:主要是收集整理一些常用的命令
主要参考:狂神说docker以及其他的一些命令收集。主要是因为平常安装的mysql外部无法访问
#更新, 或者安装yum
yum -y update
#清除系统残余项如果服务器之前没有装过Docker,可以直接跳过
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
#需要的安装包
yum install -y yum-utils
#设置镜像的仓库
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum软件包索引
yum makecache fast
#安装docker相关的 docker-ce 社区版 而ee是企业版
yum install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start docker
#测试
docker run hello-world
12345678910111213141516171819202122232425262728293031323334353637
#8.查看已经下载的镜像(从这里可以查看已有镜像的id)
[root@iz2zeak7sgj6i7hrb2g862z ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 4 months ago 13.3kB
#创建并进入相关容器
mkdir ~/mysql
cd ~/mysql
#配置阿里云镜像加速
http://oss.console.aliyun.com
控制台搜索容器镜像服务。 镜像加速器,选择自己对应的linux版本使用。每个人的不一样
# docker 中下载 mysql
docker pull mysql
#启动
docker run -id \
-p 3306:3306 \
--name=mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=a123..a \
-d mysql
#进入容器
docker exec -it mysql bash
#登录mysql
mysql -u root -p
#修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'a123..a';
#添加远程登录用户------- 8.0之后的----------------
#user_name:要创建用户的名字
#host:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’
#password:新创建用户的登陆数据库密码,如果没密码可以不写。
CREATE USER 'frefe1256111'@'%' IDENTIFIED WITH mysql_native_password BY 'a123..a';
#privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL
#databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部
#’username‘@‘host’:表示授权给哪个用户。
GRANT ALL PRIVILEGES ON *.* TO 'frefe1256'@'%';
#添加远程登录用户------- 8.0之前的
#第一个root表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个root表示密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
#刷新MySQL的系统权限相关表
flush privileges;
#查看所有用户(用户名、给谁授权)
SELECT user,host FROM mysql.user;
错误:可能是因为阿里云或者腾讯云未开启相关的端口。需要进入安全组规则添加相关的端口
添加对应的端口之后又换了一个错误,
这个 可能是mysql 未开启对应的账号连接权限
可能是密码错误
外链,水文字用的
docker run -d --restart=always --name mysql02 -p 3306:3306 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/log:/var/log/mysql -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
# 或者
docker run -d --restart=always --name mysql01 -p 3306:3306 \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf:/etc/mysql/conf.d \
-v /home/mysql/log:/var/log/mysql \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci
# 说明
# -d 后台运行
# --restart=always 设置开机重启
# --name database_ 设置该容器的名称,这儿是自定义,可以自由备注
# -p 设置端口号映射,容器外端口:容器内端口
# -v 卷挂载 (容器外目录:容器内目录)这儿我们对数据目录、配置文件目录和日志目录进行了挂载,类似这些需要被持久化的数据,需要的存储至容器外,避免容器删除后数据的丢失
# -e msyql的环境配置
docker run -d --restart=always --name mysql02 -p 3306:3306 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/log:/var/log/mysql -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
# 或者
docker run -d --restart=always --name mysql01 -p 3306:3306 \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf:/etc/mysql/conf.d \
-v /home/mysql/log:/var/log/mysql \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci# 说明
# -d 后台运行
# --restart=always 设置开机重启
# --name database_ 设置该容器的名称,这儿是自定义,可以自由备注
# -p 设置端口号映射,容器外端口:容器内端口
# -v 卷挂载 (容器外目录:容器内目录)这儿我们对数据目录、配置文件目录和日志目录进行了挂载,类似这些需要被持久化的数据,需要的存储至容器外,避免容器删除后数据的丢失
# -e msyql的环境配置