目錄
- 一、Docker安裝Mysql
- 1、啟動Docker
- 2、查詢mysql
- 3、安裝mysql
- 4、查看鏡像
- 5、本地創建掛載目錄-v
- 二、Docker啟動\使用Mysql
- 1、啟動mysql容器(創建鏡像實例)
- 2、在var/lib/docker/containers/下查看容器
- 3、查看mysql進程獲取name——mysql名稱
- 4、進入mysql容器—并登陸mysql
- 5、開啟遠程訪問權限
- 6、查看docker日志
- 7、常用命令
- 8、 重啟docker中mysql重啟
- 9、移除原來的container ID(就是長長的那串數字)
- 10、退出容器
- 三、Mysql設置
- 1、進入容器:
- 2、定位容器位置:
- 3、退出容器:
- 4、找到配置文件夾:一級一級的進入
- 5、創建配置文件:cnf
- 6、重啟容器
- 7、進入文件夾
- 四、Mysql外部連接
- 總結
一個容器=完整Linux
一、Docker安裝Mysql
1、啟動Docker
啟動:sudo systemctl start docker service docker start 停止:systemctl stop docker 重啟:systemctl restart docker
2、查詢mysql
docker search mysql
3、安裝mysql
1.默認拉取最新版本mysql
docker pull mysql
2.拉取指定版本mysql_5.7
sudo docker pull mysql:5.7
4、查看鏡像
docker images
5、本地創建掛載目錄-v
二、Docker啟動\使用Mysql
1、啟動mysql容器(創建鏡像實例)
1.指定版本
sudo docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7
2.最新版本
docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:latest
3.命令含義:容器=完整Linux
docker run:在docker中啟動一個容器實例 -d:該容器在后臺運行 -p 3306:3306:容器與主機映射端口為,主機3306,容器3306 --name mysql:容器運行后的名稱 -v /mysqldata/mysql/log:/var/log/mysql:將容器/var/log/mysql目錄下的數據,備份到主機的 /mysqldata/mysql/log目錄下 -v /mysqldata/mysql/data:/var/lib/mysql:將容器/var/lib/mysql目錄下的數據,備份到主機的 /mysqldata/mysql/data目錄下 -v /mysqldata/mysql/conf:/etc/mysql:將容器/etc/mysql目錄下的數據,備份到主機的 mysqldata/mysql/conf目錄下 -e MYSQL_ROOT_PASSWORD=root:設置當前mysql實例的密碼為root mysql:5.7:需要運行的容器名稱以及版本號
2、在var/lib/docker/containers/下查看容器
cd /var/lib/docker/containers/
3、查看mysql進程獲取name——mysql名稱
docker ps -a
4、進入mysql容器—并登陸mysql
格式:docker exec -it mysql名稱 bash 進入mysql容器操作臺命令:docker exec -it mysql bash 登錄mysql命令:mysql -u root -p 輸入密碼:
5、開啟遠程訪問權限
命令:use mysql; 命令:select host,user from user; 命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 命令:flush privileges; 把root用戶的密碼改成 mysql_native_password 模式,即可遠程連接 #創建一個賬號-admin,用來進行遠程訪問; CREATE USER 'admin'@'%' IDENTIFIED BY '123456'; 賦予所有權限給之前創建的賬號:admin GRANT ALL ON *.* TO 'admin'@'%'; 確認使用密碼{123456}登錄此賬號{admin} 密碼盡量復雜,安全性更高。 ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 刷新權限 FLUSH PRIVILEGES;
6、查看docker日志
命令:docker logs -f --tail 10 a4dac74d48f7
7、常用命令
查看進程
命令:docker ps -a
關閉docker中mysql容器
命令:docker stop mysqlserver
8、 重啟docker中mysql重啟
重啟docker
命令:systemctl restart docker
關閉docker
命令:systemctl stop docker
自動重啟容器
sudo docker update mysql –restart=always
9、移除原來的container ID(就是長長的那串數字)
docker rm + container ID
10、退出容器
三、Mysql設置
1、進入容器:
命令: docker exec -it mysql bash 命令:mysql -u root -p
2、定位容器位置:
命令:whereis mysql 顯示:mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/share/mysql
3、退出容器:
exit
4、找到配置文件夾:一級一級的進入
命令:cd /mydata/ 命令:cd mysql/ 命令:cd conf/
5、創建配置文件:cnf
命令:vi my. cnf 命令:i 粘貼內容: [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect=' SET collation_connection = utf8_unicode_ci ' init_connect=' SET NAMES utf8 ' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake skip-name-resolve 按鍵:ESC 命令::wq
6、重啟容器
命令:docker restart mysql 命令:docker exec -it mysql /bin/bash
7、進入文件夾
目錄:cd /etc/mysql/ 展示:ls 查看文件:cat my. cnf
四、Mysql外部連接
IP:虛擬機IP地址——云主機地址
端口:
名稱:
密碼: