Docker 安裝 Mysql 5.7

背景

阿里云基礎(chǔ)版 RDS 最近因?yàn)榇髷?shù)據(jù)量查詢經(jīng)常宕機(jī)(阿里云工單回復(fù)是 OOM,讓升級高可用版本~),導(dǎo)致日常辦公軟件(Crowd,Jira,Confluence等)無法使用,所以在 ECS 搭建本地 Mysql。

驗(yàn)證環(huán)境

  • Centos 7.7
  • Docker 1.13.1

拉取鏡像

# 搜索 Mysql 鏡像
$ docker search mysql

# 下載 Mysql 5.7 鏡像
$ docker pull mysql:5.7

# 查看下載鏡像
$ docker images

運(yùn)行容器

# 運(yùn)行 Mysql 容器
$ docker run -d 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=daodaotest mysql:5.7

# 運(yùn)行 Mysql 容器,映射目錄,設(shè)置必須 Mysql 參數(shù)
$ docker run -d -p 3306:3306 --name mysql \
-v /home/mysql/mysql/conf:/etc/mysql \
-v /home/mysql/mysql/logs:/var/log/mysql \
-v /home/mysql/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=daodaotest \
mysql:5.7 \
--lower_case_table_names=1 \
--max-allowed-packet=1073741824 \
--character_set_server=utf8 \
--innodb_log_file_size=256m

Docker 參數(shù)說明:

  • -d:后臺運(yùn)行容器,并返回容器 ID
  • -p:指定端口映射,格式為:主機(jī)(宿主)端口:容器端口
  • --name:容器名稱,此處為mysql
  • -v:宿主機(jī)和容器的目錄映射關(guān)系,“:” 前為宿主機(jī)目錄
  • -e:配置信息,此處配置 Mysql 的 root 密碼

Mysql 參數(shù)說明(業(yè)務(wù)需要設(shè)置):

  • lower_case_table_names=1:設(shè)置表名參數(shù)名等忽略大小寫,解決 Crowd 無法識別大寫表名問題
  • max-allowed-packet=1073741824:設(shè)置最大插入和更新數(shù)據(jù)限制為 1G(1024 * 1024 * 1024 = 1073741824),單位:字節(jié),解決 Confluence 數(shù)據(jù)遷移時(shí)大數(shù)據(jù)插入問問
  • character_set_server=utf8:設(shè)置 utf8字符集,解決 Confluence 添加修改中文亂碼問題
  • innodb_log_file_size=256m:設(shè)置日志文件大小,Confluence 健康檢查推薦大小
# 查看容器運(yùn)行情況
$ docker ps

# 查看 log
$ docker logs -f mysql

訪問 Mysql 服務(wù)

容器內(nèi)訪問

# 進(jìn)入容器
$ docker exec -it mysql bash

# 容器內(nèi),訪問 Mysql 服務(wù)
$ mysql -uroot -pdaodaotest

宿主機(jī)訪問

# 僅安裝 Mysql 客戶端
$ rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
$ yum install mysql-community-client.x86_64

# 宿主機(jī)訪問
$ mysql -h 127.0.0.1 -uroot -pdaodaotest

# 設(shè)置 root 用戶允許遠(yuǎn)程訪問
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'daodaotest' WITH GRANT OPTION;
> FLUSH PRIVILEGES;

局域網(wǎng)訪問

# 前提需要設(shè)置 root 遠(yuǎn)程訪問權(quán)限
$ mysql -h 192.168.x.x -uroot -pdaodaotest

微信公眾號:daodaotest

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容