1.下载mysql8.0.26的docker镜像
docker pull mysql:8.0.26
2.启动mysql服务
docker run -d -p 3306:3306 --privileged=true \
-v /docker/mysql/conf/my.cnf:/etc/my.cnf \
-v /docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql mysql:8.0.26 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci
参数说明:
run run 是运行一个容器
-d 表示后台运行
-p 表示容器内部端口和服务器端口映射关联
--privileged=true 设置MySQL 的root用户权限, 否则外部不能使用root用户登陆
-v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
-v /docker/mysql/data:/var/lib/mysql 同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
-e MYSQL_ROOT_PASSWORD=root 设置MySQL数据库root用户的密码
--name mysql 设值容器名称为mysql
mysql:8.0.26 表示从docker镜像mysql:8.0.26中启动一个容器
--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码
3.查看数据库是否启动
docker ps -a
4.进入Mysql容器
docker exec -it mysql bash
5.连接mysql
mysql -uroot -proot
6.创建数据库
create database test character set utf8mb4 collate utf8mb4_bin;
7.使用数据库
use mysql;
8.查看数据库
show databases;
9.使用test库
use test;
10.查看库中的表
show tables;
11.将test.sql文件拷贝到mysql容器的/目录下:
docker cp /mydata/mall.sql mysql:/
12.将sql文件导入到数据库:
use test;
source /test.sql;
13.查看root用户拥有权限
select host,user from user where user='root';