本文簡單演示下docker方式安裝mysql。
拉取鏡像
https://hub.docker.com/_/mysql
docker pull mysql:5.7.26
或者:docker pull registry.cn-chengdu.aliyuncs.com/qzcsbj/mysql:v5.7.26
運行容器
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d registry.cn-chengdu.aliyuncs.com/qzcsbj/mysql:v5.7.26
-e,Set environment variables,表示指定運行時環境變量,設置密碼為123456
查看mysql容器:docker ps |grep mysql
進入容器:docker exec -it mysql /bin/bash
本地連接數據庫
mysql -u root -p123456
查看字符集
show create database mysql;
show variables like '%character%';
字符集不是utf8,我們需要做修改。
修改配置文件
創建掛載目錄
[root@k8s-master01 ~]# mkdir -p /mysql/conf
[root@k8s-master01 ~]# mkdir -p /mysql/data
[root@k8s-master01 ~]# mkdir -p /mysql/logs
mysql.cnf引入了另外兩個目錄
兩個目錄的內容
第一個目錄中配置文件內容
第二個目錄中配置文件內容
上面配置文件中可以看到(也可以搜索:find / -name "*mysql*",有通配符需要加引號)
數據目錄:/var/lib/mysql/
日志目錄:/var/log/mysql/
配置目錄:/etc/mysql/mysql.conf.d/
也可以這樣查看數據目錄
自帶的mysql數據庫有user.frm:find / -name "user.frm"
紅框中是數據庫,所以數據目錄是:/var/lib/mysql
復制容器中配置文件到本機:docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /mysql/conf/
修改配置文件:vim mysqld.cnf
這里只修改編碼
在 [mysqld] 前添加如下配置:
[client] default-character-set=utf8
在 [mysqld] 后添加如下配置:
character-set-server=utf8
重新運行容器
刪除之前的容器:docker rm -f mysql
重新運行:
--name mysql \
-p 3306:3306 \
-v /mysql/conf:/etc/mysql/mysql.conf.d/ \
-v /mysql/data:/var/lib/mysql/ \
-v /mysql/logs:/var/log/mysql/ \
-e MYSQL_ROOT_PASSWORD=123456 \
-d registry.cn-chengdu.aliyuncs.com/qzcsbj/mysql:v5.7.26


本地連接
下面可以看到字符集已經改為utf8
show create database mysql;
show variables like '%character%';
如果只是服務端加了utf8,結果就是下面這樣:
遠程連接
cmd中連接
需要本機中安裝了mysql,否則會提示沒有mysql命令
mysql -u root -p -h 192.168.117.171
客戶端工具連接