mysql8安装
# 此次安装基于docker
# 第一步 下拉镜像
docker pull mysql:8.0.21
# 第二步 启动镜像
docker run -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORD=hadoop -d mysql:8.0.21
# 第三步 启动成功后,进入容器内部拷贝配置文件,到宿主主机
docker cp mysql:/etc/mysql /home/smartmining/mysql8
拷贝容器的 /etc/mysql目录到 主机目录/home/smartmining/mysql8
# 第四步 删除mysql容器,重新创建容器
docker stop mysql
docker rm mysql
# 第五步 启动mysql ,挂载配置文件,数据持久化到宿主主机
启动脚本 文件名为mysql8.0.21.sh
#!/bin/sh
docker run \
-p 3307:3306 \
--name mysql \
--privileged=true \
--restart unless-stopped \
-v /home/smartmining/mysql8/mysql:/etc/mysql \
-v /home/smartmining/mysql8/logs:/logs \
-v /home/smartmining/mysql8/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=hadoop \
-d mysql:8.0.21
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
命令解释: -p 端口映射 --privileged=true 挂载文件权限设置 --restart unless-stopped 设置 开机后自动重启容器 -v /home/smartmining/mysql8/mysql:/etc/mysql 挂载配置文件 -v /home/smartmining/mysql8/logs:/logs \ 挂载日志 -v /home/smartmining/mysql8/data:/var/lib/mysql \ 挂载数据文件 持久化到主机, -v /etc/localtime:/etc/localtime 容器时间与宿主机同步 -e MYSQL_ROOT_PASSWORD=hadoop 设置密码 -d mysql:8.0.21 后台启动,mysql
# 第六步,执行脚本 启动镜像
大功告成----挂载出来的数据文件以及配置文件
ALTER USER "root"@"localhost" IDENTIFIED BY "hadoop";
FLUSH PRIVILEGES;
create user smartdbm@'%' identified by 'SmArT@2019';
grant all privileges on *.* to smartdbm@'%' with grant option;
exit;
use mysql;
update user set host = '%' where user ='smartdbm';
ALTER USER 'smartdbm'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'smartdbm'@'%' IDENTIFIED WITH mysql_native_password BY 'SmArT@2019';
exit;
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10