目录
[3、MySQL 配置](#3、MySQL 配置)
(1)conf文件夹中创建并修改配置文件(修改mysql字符编码)
直接 su root ,切换到root用户,之后的命令就可以不用加 sudo 啦,当然已经是root用户,加上与不加都无所谓的哦。
1、下载镜像文件
(1)docker pull mysql (不输版本号,默认安装最新版,我以5.7为例)
docker pull mysql:5.7
(2)查看你下载的镜像
sql
sudo docker images
执行结果:
2、创建实例并启动
(1)创建并启动mysql
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 用户的密码
(2)查看docker正在运行中的容器
sql
docker ps
执行结果:
(3)使用mysql客户端连接工具,测试连接。
连接成功,说明MySQL已经安装好了。
(4)进入mysql容器内部
直接在根目录输入命令即可。
sql
docker exec -it mysql /bin/bash
查看目录结构:
ls
查看mysql装在哪里:
whereis mysql
退出容器:
exit;
3、MySQL 配置
(1)conf文件夹中创建并修改配置文件(修改mysql字符编码)
diff
vi /mydata/mysql/conf/my.cnf
注意:
mysql版本不一样的话(高版本),conf这个文件夹的位置发生了变化,通过ls命令查看一个conf在哪里,然后再去修改。
(2)my.cnf中需要添加的内容
编辑文件指令:
i 进入编辑模式
Esc 退出编辑模式
:wq 保存并退出
注意:配置文件中的格式一定要正确,粘贴进来时,会自己变换格式,记得自己进行换行哦。
sql
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
注意:解决 MySQL 连接慢的问题
在配置文件中加入如下,并重启 mysql
[mysqld]
skip-name-resolve
解释: skip-name-resolve:跳过域名解析
4、重启mysql,应用到配置
sql
docker restart mysql
注意:
配置文件中的格式一定要正确,粘贴进来时,会自己变换格式,记得自己进行换行哦。
可以根据下面截图中的命令去运行看看:
至此,mysql就算彻底安装成功啦!