Docker安装mysql8
1、拉取mysql镜像(这里以8.0.21版本为例)
docker pull mysql:8.0.21
2、新建宿主机本地目录:用来挂载MySQL容器所产生的数据的目录
mkdir -p /res/data/mysql/data /res/data/mysql/log /res/data/mysql/conf
3、启动容器,创建MySQL实例
docker run -d -p 3306:3306 --privileged=true \
-v /res/data/mysql/log:/var/log/mysql \
-v /res/data/mysql/data:/var/lib/mysql \
-v /res/data/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql \
mysql:8.0.21
参数解释:
\
:这是换行符
-d
:后台运行
-p 3306:3306
:设置端口,前面端口是主机端口号,后面是容器端口
--privileged=true
: 设置容器的权限。让容器拥有宿主机的root权限
-v /res/data/mysql/log:/var/log/mysql
: 容器卷挂载(格式:-v 要挂载的主机路径:要被挂载的容器路径)
-e MYSQL_ROOT_PASSWORD=root
:设置MySQL的root密码,这里我设置的密码是root
--name mysql
:给要创建的容器起个名,不起名的话就会默认生成一个名字,不好记
mysql:8.0.21
:要运行的镜像(可以用镜像名:版本号来指定也可以用镜像id)
4、查看刚才用docker创建的MySQL的默认字符编码
1、进入mysql容器
docker exec -it 容器id /bin/bash
2、登录MySQL
mysql -uroot -p
3、查询MySQL的字符编码
show variables like 'character%';
4、exit退出mysql终端,exit退出docker容器
5、在宿主机同步docker容器中的mysql配置文件的目录下新建MySQL的配置文件:my.cnf
vim /res/data/mysql/conf/my.cnf
配置文件内容:
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
修改完配置后重启mysql容器实例
再次进入容器登录mysql并查看字符编码
再次进入容器登录mysql并查看字符编码
至此,docker安装MySQL完成!!