首先,系統(3.8以上內核的linux)中安裝好 Docker 這個運用程序。因爲網絡緣由,咱們下載一個Docker官方的鏡像須要很長的時間,甚至下載失敗。爲此,阿里雲容器鏡像服務提供了官方的鏡像站點,從而加速官方鏡像的下載速度。 [ 不會的能夠參考我以前的文章:Docker <一> 架構簡介與Linux上安裝 http://www.javashuo.com/article/p-qdsjcbsd-bh.html]。mysql
docker search mysql
以看到下圖所示的信息:linux
docker pull mysql:5.7
整個pull過程須要花費一些時間,耐心等待。sql
由於已經pull過,因此會獲得以下提示。docker
# 使用 docker images 命令便可列出已下載的鏡像 docker images
執行命令後,可看到相似於以下的表格:數據庫
# 使用 docker ps 命令便可列出運行中的容器 docker ps
執行命令後,可看到相似於以下的表格:vim
能夠發現,目前有運行的容器。故,刪掉原有容器,接下來咱們新建並啓動一個新的 MySQL5.7 容器。bash
使用 docker rm 命令便可刪除指定容器(只能刪除已中止的容器):網絡
# 使用 docker rm 命令便可刪除指定容器(只能刪除已中止的容器) docker rm 0164c13b662c
如需刪除正在運行的容器,可以使用 -f 參數:架構
# 如需刪除正在運行的容器,可以使用 -f 參數 docker rm -f 0164c13b662c
如需刪除全部的容器(請謹慎使用該命令):工具
# 如需刪除全部的容器 docker rm -f ${docker pa -a -q}
# 方式一 docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
MySQL(5.7.19)的默認配置文件是 /etc/mysql/my.cnf 文件。若是想要自定義配置,建議向 /etc/mysql/conf.d 目錄中建立 .cnf 文件。新建的文件能夠任意起名,只要保證後綴名是 cnf 便可。新建的文件中的配置項能夠覆蓋 /etc/mysql/my.cnf 中的配置項。
# 方式二 docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
# 命令說明: -p 3306:3306:將容器的3306端口映射到主機的3306端口 -v -v $PWD/conf:/etc/mysql/conf.d:將主機當前目錄下的conf/my.cnf掛載到容器的/etc/mysql/my.cnf -v $PWD/logs:/logs:將主機當前目錄下的logs目錄掛載到容器的/logs -v $PWD/data:/mysql_data:將主機當前目錄下的data目錄掛載到容器的/mysql_data -e MYSQL_ROOT_PASSWORD=123456:初始化root用戶的密碼 --lower_case_table_names=1 設置表名參數名等忽略大小寫 -v /etc/localtime:/etc/localtime:ro 設置容器的時間與宿主機同步
查看日誌:
docker log -f 容器啓動後生成惟一ID
# MySQL 5.7之前的版本的修改 sudo vi /etc/MySQL/my.cnf 在[mysql] 下添加一行 lower_case_table_names=1 # MySQL 5.7版本的修改則在/etc/mysql/my.cnf這個目錄下。 # 驗證是否修改爲功,若是value爲1則不區分大小寫了 mysql> show variables like '%case_table%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | lower_case_table_names | 1 | +------------------------+-------+ 1 row in set (0.00 sec) # 可是在mysql5.7.19中,mysql 配置文件是放在/etc/mysql/mysql.conf.d/mysqld.cnf, vim /etc/mysql/mysql.conf.d/mysqld.cnf 在[mysqld]下加入一行: lower_case_table_names=1
方式一:
鏈接MySQL: 查看當前mysql的大小寫敏感配置 show global variables like '%lower_case%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | lower_case_file_system | ON | | lower_case_table_names | 0 | +------------------------+-------+ lower_case_file_system 表示當前系統文件是否大小寫敏感,只讀參數,沒法修改。 ON 大小寫不敏感 OFF 大小寫敏感 進入docker的MySQL容器,編輯/etc/mysql/mysql.conf.d/mysqld.cnf文件,在[mysqld]下添加以下: [mysqld] lower_case_table_names=1 保存,退出容器; 執行sudo docker restart MySQL ,重啓MySQL便可查看: mysql> show global variables like '%lower_case%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | lower_case_file_system | OFF | | lower_case_table_names | 1 | +------------------------+-------+ 2 rows in set (0.00 sec)
方式二:
# 一 docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1 # 二 docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1
關鍵命令:
--lower_case_table_names=1 設置表名參數名等忽略大小寫
相關連接:
· Docker 官網教程: https://hub.docker.com/_/mysql/
· Docker MySQL5.7官網教程: https://hub.docker.com/r/cytopia/mysql-5.7/
本文爲博主原創文章,轉載請註明出處!