mysql 安裝
拉取 mysql 鏡像
查找Docker Hub上的mysql鏡像
docker search mysql
拉取 5.7 版本的mysql鏡像
docker pull mysql:5.7
等待下載完成后,我們就可以在本地鏡像列表里查到REPOSITORY為mysql,標(biāo)簽為5.7的鏡像
docker images | grep mysql
使用 mysql 鏡像
本地創(chuàng)建 mysql 的目錄和文件,結(jié)構(gòu)如下
~/mysql
conf
|-- my.cnf
data
logs
創(chuàng)建步驟:
cd ~/mysql
mkdir conf data logs
cd conf
touch my.cnf
設(shè)置 mysql 默認(rèn)時區(qū)為東八區(qū):
vim my.cnf
[mysqld]
default-time_zone = '+8:00'
運行容器
cd ~/mysql
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
命令說明:
-p 3306:3306:將容器的 3306 端口映射到主機的 3306 端口。
-v -v $PWD/conf:/etc/mysql/conf.d:將主機當(dāng)前目錄下的 conf/my.cnf 掛載到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs:將主機當(dāng)前目錄下的 logs 目錄掛載到容器的 /logs。
-v $PWD/data:/var/lib/mysql :將主機當(dāng)前目錄下的data目錄掛載到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用戶的密碼。
查看容器啟動情況
查看當(dāng)前運行容器:
docker ps
查看所有容器
docker ps -a
容器啟停
- 啟動:docker start CONTAINER ID
- 重啟:docker restart CONTAINER ID
- 停止:docker stop CONTAINER ID
mysql 創(chuàng)建數(shù)據(jù)庫,并為新用戶賦權(quán)
進入 mysql 容器
docker ps 得到 mysql 容器的 CONTAINER ID
docker exec -it CONTAINER ID /bin/bash
以 root 身份登錄 mysql
mysql -u root -p
輸入密碼 123456
創(chuàng)建數(shù)據(jù)庫 xiaogege
create database xiaogege DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
創(chuàng)建用戶 xiaogege,密碼設(shè)置為 123456 ,并將數(shù)據(jù)庫 xiaogege 的所有權(quán)限賦給該用戶
授予用戶通過外網(wǎng)IP對于該數(shù)據(jù)庫的全部權(quán)限
grant all privileges on `xiaogege`.* to 'xiaogege'@'%' identified by '123456';
授予用戶在本地服務(wù)器對該數(shù)據(jù)庫的全部權(quán)限
grant all privileges on `xiaogege`.* to 'xiaogege'@'localhost' identified by '123456';
刷新權(quán)限
flush privileges;