docker pull mysql:5.7.32
版本查詢:檢視常用docker 命令
建立目錄,用於宿主機與容器的對映,以便將資料儲存在宿主機,而不是容器中。
/usr/local/docker/mysql/conf,配置檔案
/usr/local/docker/mysql/logs,日誌檔案
/usr/local/docker/mysql/data,資料檔案
在/usr/local/docker/mysql/conf目錄下建立檔案:my.cnf。新增內容
[mysql]
# 客戶端預設字符集
default-character-set=utf8mb4
[mysqld]
#服務端使用的字符集
character-set-server=utf8mb4
init_connect='set names utf8mb4'
# 允許的最大連線數
max-connections=200
sql_mode ='strict_trans_tables,error_for_division_by_zero,no_auto_create_user,no_engine_substitution'
# 每個資料表使用乙個檔案
innodb_file_per_table=1
配置根據自己實際情況設定
docker run -itd \
--name mysql \
-p 3306:3306 \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e mysql_root_password=123456 \
mysql:5.7.32
docker exec -it mysql /bin/bash
進入容器後,使用設定的密碼(123456)登入mysql並操作
mysql -uroot -p
# 建立資料庫
create database onlinecourse default charset utf8mb4;
use onlinecourse;
# 建立測試表
create table t_user (
`id` char(32) not null,
`cn_name` varchar(100) default null,
primary key (`id`))
engine innodb;
可在/usr/local/docker/mysql/data/onlinecourse目錄看到新建表對應的檔案:t_user.frm, t_user.ibd前提是宿主機可執行mysql命令。
mysql -uroot -p -h172.17.0.1
-h:指定mysql容器的ip位址,這個172.17.0.1是docker虛擬網絡卡的ip。現象:宿主機無法登入通常不需要設定就可以在宿主機使用root賬號登入容器中的mysql
解決方案:登入mysql容器後,登入mysql,新增可遠端訪問的賬戶
grant all privileges on *.* to 'akio'@'%' identified by '123321';
flush privileges;
重新在宿主機登入
mysql -uakio -p -h172.17.0.1
在 Docker 中使用 MongoDB
如果你是一名 mongodb 的初學者,那麼你入門 mongodb 的第一件事就是安裝,但是安裝 mongodb 還需要自己配置一些服務。這時候,docker 就能幫上大忙,它能夠讓你不需要本地安裝 mongodb 就能使用。首先你的電腦上需要 安裝 docker,然後在 docker 的映象中查詢...
在docker中使用U盤
最初的解決方案是對映host中固定的目錄到container中,但是只能把u盤中的資料拷貝到固定的目錄中,在container中才可以看到。如果在container建立前把u盤mount到固定目錄,這個也沒有問題。如果在container建立以後,再把u盤mount到固定的目錄中,在containe...
在MySQL中使用memcached
這裡提供了一組mysql的udf函式,可以直接在sql中操作memcached。安裝比較簡單,需要安裝 libmemcached 0.12.tar.gz,然後安裝 memcached functions mysql 0.1.tar.gz就可以了。它的幫助檔案中提供了使用方法。只是需要設定ld lib...