docker mysql 數據持久化到本地、設置不區別表名大小寫

Docker MySQL 把數據存儲在本地目錄,很簡單,只需要映射本地目錄到容器即可


1、加上-v參數


$ docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql 


還可以指定配置文件


docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql -v /data/mysql/my.cnf:/etc/mysql/my.cnf -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql 


這樣,即可修改配置文件,還能把數據存在本地目錄,一舉兩得,-v 參數可以多次使用,每次映射一個目錄,通過這種方式,很容易進行配置。。



docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql -v /data/mysql/my.cnf:/etc/mysql/my.cnf -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql --lower_case_table_names=1


解釋如下:

-d  容器在後臺運行

-e MYSQL_ROOT_PASSWORD=admin    配置mysql root的密碼

-v   對mysql 的配置文件和數據存儲路徑進行映射到宿主機,對數據持久化

-p   端口映射

--name  定義容器的名稱

--lower_case_table_names=1    定義數據庫不區分表名大小寫


網友的步驟:


  1. 拉取mysql 鏡像


    docker pull mysql


  2. 運行mysql

 

docker run 

--net=host 

--restart=always 

--privileged=true 

-v /usr/docker_dat/mysql/data:/var/lib/mysql 

--name mysql 

-p 3306:3306 

-e MYSQL_ROOT_PASSWORD=root 

-v /etc/localtime:/etc/localtime:ro 

-d mysql --lower_case_table_names=1  


3. 參數說明

--restart=always 跟隨docker啓動  

--privileged=true 容器root用戶享有主機root用戶權限  

-v 映射主機路徑到容器  

-e MYSQL_ROOT_PASSWORD=root 設置root用戶密碼  

-d 後臺啓動  

--lower_case_table_names=1 設置表名參數名等忽略大小寫 

-v /etc/localtime:/etc/localtime:ro   設置容器的時間與宿主機同步


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章