Docker安裝並運行mysql5.6數據庫


1、在/home目錄下新建mysql目錄

  mysql目錄中新建三個目錄:conf目錄、logs目錄、data目錄,建這些目錄的目的是用來掛載docker中的mysql下的目錄的。

  結果如下:

 

 

 

 

  1.1、然后在conf中寫一個mysql的配置文件my.cnf,里面就是配置一些端口號啊、用什么模式啊,內存開多大啊什么的

  配置內容如下:這是我在網上復制過來的,配置內容限制了一些東西,也沒使用innodb引擎,根據自己需求配置

port= 3306

character-set-server=utf8

performance_schema_max_table_instances=200

table_definition_cache=200

table_open_cache=128

innodb=OFF

default-storage-engine=MYISAM

default-tmp-storage-engine=MYISAM

loose-innodb-trx=0

loose-innodb-locks=0

loose-innodb-lock-waits=0

loose-innodb-cmp=0

loose-innodb-cmp-per-index=0

loose-innodb-cmp-per-index-reset=0

loose-innodb-cmp-reset=0

loose-innodb-cmpmem=0

loose-innodb-cmpmem-reset=0

loose-innodb-buffer-page=0

loose-innodb-buffer-page-lru=0

loose-innodb-buffer-pool-stats=0

loose-innodb-metrics=0

loose-innodb-ft-default-stopword=0

loose-innodb-ft-inserted=0

loose-innodb-ft-deleted=0

loose-innodb-ft-being-deleted=0

loose-innodb-ft-config=0

loose-innodb-ft-index-cache=0

loose-innodb-ft-index-table=0

loose-innodb-sys-tables=0

loose-innodb-sys-tablestats=0

loose-innodb-sys-indexes=0

loose-innodb-sys-columns=0

loose-innodb-sys-fields=0

loose-innodb-sys-foreign=0

loose-innodb-sys-foreign-cols=0

join_buffer_size = 64M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 

 

2、然后使用docker下載mysql鏡像,並運行:

  下載mysql5.6版本命令:docker pull mysql:5.6

  查看下載好的mysql5.6數據庫:

 

 

 

 

  2.1、運行mysql5.6容器:

docker run -p 3306:3306 --name mysql -v /home/mysql/conf/my.cnf:/etc/mysql/cnf.d -v /home/mysql/logs:/etc/mysql/logs -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
c85b684385002b1ea64c61fe1ba5801d41a1d18afa03bb0c86495addc6cfb614
命令有點長,說下大概什么意思:
docker run -p 3306:3306 --name mysql   意思就是運行mysql容器,指定本機端口3306映射到docker內部的3306端口,--name為起了個別名叫mysql,不起別名的話以后在docker里操作mysql這個容器就只能用容器id來操作

-v /home/mysql/conf/my.cnf:/etc/mysql/cnf.d   表示將之前新建的/home/mysql/conf目錄中的my.cnf配置文件掛載到mysql容器里的配置,其實就是替換掉,讓容器使用這個配置

-v /home/mysql/logs:/etc/mysql/logs  意思跟上面一個一樣,讓容器使用/home/mysql/logs這個目錄,不用自己默認的

-v /home/mysql/data:/var/lib/mysql  跟上面意思一樣

-e MYSQL_ROOT_PASSWORD=123456  初始化root用戶密碼

-d mysql:5.6   表示此容器后台程序運行

 

  查看docker正在運行的容器:docker ps

  可以看到mysql運行成功:

 

  如果路徑沒有打錯的話,有可能會遇到這個報錯:我就遇到了,直接運行:yum update  命令后,重新運行mysql容器

 

 

 

 

  

 

3、mysql容器運行成功后,進入數據看看:

進入數據庫命令:
docker exec -it c85b68438500 /bin/bash


輸入數據庫賬號密碼命令:
mysql -uroot -p


進入數據庫后,執行sql代碼顯示當前所有數據庫:注意要加;號按回車
show databases;

 

 

 

 

=====================新加一個修改root密碼步驟:

linux進入數據庫,使用以下兩條命令修改root密碼:

1、使用mysql
use mysql;


2、修改root密碼為654321
update user set password=passworD("654321") where user = 'root';


3、刷新緩存
flush privileges;


4、退出mysql
exit


然后重進mysql,用修改后的密碼登錄就ok啦


 

 

 

 

 

 

 

 ==============數據庫安裝成功之后,連接數據庫=========================

如果用的是本機虛擬機,用數據庫操作工具連接不上的話,直接關閉虛擬機的防火牆就行了

 

我用的是阿里雲服務器,外網是直接連不上去的,要去配置一下安全組開放3306端口。

很簡單自行百度配置阿里雲服務器安全組開放端口

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM