Docker部署Mysql8的實現步驟
一、前置需求
1.linux系統
本人用的Centos7
2.安裝docker
參考這篇文章
二、部署方法
1.拉取mysql8鏡像
docker pull mysql:8
2.創建配置文件掛載目錄和數據掛載目錄
mkdir -p /usr/mysql/conf /usr/mysql/data chmod -R 755 /usr/mysql/
ps:
/home/mysql/config:放mysql配置文件my.conf
/home/mysql/data:放mysql數據
3.創建配置文件
vim /usr/mysql/conf/my.cnf
內容如下
[client] #socket = /usr/mysql/mysqld.sock default-character-set = utf8mb4 [mysqld] #pid-file = /var/run/mysqld/mysqld.pid #socket = /var/run/mysqld/mysqld.sock #datadir = /var/lib/mysql #socket = /usr/mysql/mysqld.sock #pid-file = /usr/mysql/mysqld.pid datadir = /usr/mysql/data character_set_server = utf8mb4 collation_server = utf8mb4_bin secure-file-priv= NULL # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Custom config should go here !includedir /etc/mysql/conf.d/
4.啟動容器並掛載目錄
docker run --name mysql8 --restart=always -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro -p 4706:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8
ps:
-v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf 本機的MySQL配置文件映射到容器的MySQL配置文件
-v /etc/localtime:/etc/localtime:ro 本機時間與數據庫時間同步
–restart=always 當重啟Docker時會自動啟動該容器
-d : 後臺運行
-p 端口映射 宿主機端口號:容器端口號
-e 環境參數,MYSQL_ROOT_PASSWORD設置root用戶的密碼
docker run -p 60306:3306 -e MYSQL_ROOT_PASSWORD=123 -v /etc/my.cnf:/etc/mysql/my.cnf:rw -v /etc/localtime:/etc/localtime:ro –name mysql8 –restart=always -dit mysql
5.進入mysql創建用戶
<1>進入容器
docker exec -it mysql8 /bin/bash
<2>進入mysql
mysql -uroot -p123456
<3>創建用戶
我這裡創建一個叫 python 的用戶
# 創建 python 用戶,密碼為123456,允許在任意機器上登錄 CREATE USER 'python'@'%' IDENTIFIED BY '123456';
<4>賦予權限
# 賦予 python 用戶在 所有機器上 對 所有數據庫和數據表 擁有 所有操作權限 GRANT ALL ON *.* TO 'python'@'%';
三、訪問測試
連接成功
到此這篇關於Docker部署Mysql8的實現步驟的文章就介紹到這瞭,更多相關Docker部署Mysql8內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Docker上部署mysql8主從復制的實現
- docker-compose搭建mongodb、mysql的詳細過程
- 詳解MySQL中的pid與socket
- Linux下mysql 8.0.25 安裝配置方法圖文教程
- docker-compose啟動mysql雙機熱備互為主從的方法實現