亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

目錄
  • 1、拉取mysql
  • 2、啟動(dòng)容器鏡像
  • 3、登錄容器
  • 4、登錄mysql

在 【Docker】 下部署,使用命令行進(jìn)行拉取。

1、拉取mysql

最新版本mysql:

docker pull mysql:latest

拉取5.7版本mysql:

docker pull mysql:5.7

使用Docker部署MySQL的實(shí)現(xiàn)步驟

2、啟動(dòng)容器鏡像

docker run -p 13306:3306 --name my-mysql -v $PWD/conf:/etc/mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Dl123456 -d mysql:5.7

【說明】

  • -p 13306:3306                      將容器的 3306 端口映射到主機(jī)的 3306 端口
  • –name my-mysql                     啟動(dòng)后容器名為 my-mysql  
  • -v $PWD/conf:/etc/mysql          將主機(jī)當(dāng)前目錄下的 conf/ 掛載到容器的 /etc/mysql       (conf目錄為mysql的配置文件,不掛載也沒問題)
  • -v $PWD/logs:/logs          將主機(jī)當(dāng)前目錄下的 logs 目錄掛載到容器的 /logs           (logs目錄為mysql的日志目錄,不掛載也沒影響)
  • -v $PWD/data:/var/lib/mysql     將主機(jī)當(dāng)前目錄下的data目錄掛載到容器的 /var/lib/mysql (data目錄為mysql配置的數(shù)據(jù)文件存放路徑,這個(gè)還是建議掛載,是存儲(chǔ)數(shù)據(jù)的,容器down掉,還能再次掛載數(shù)據(jù)。)
  • -e MYSQL_ROOT_PASSWORD=Dl123456   初始化 root 用戶的密碼

3、登錄容器

docker exec -it my-mysql bash
ls

使用Docker部署MySQL的實(shí)現(xiàn)步驟

進(jìn)入MySQl容器

使用的 docker exec 命令,-it是參數(shù),bash表示創(chuàng)建一個(gè)交互界面

退出容器

方法一:如果要正常退出不關(guān)閉容器,請(qǐng)按Ctrl+P+Q進(jìn)行退出容器

方法二:如果使用exit退出,那么在退出之后會(huì)關(guān)閉容器

4、登錄mysql

mysql -uroot -p --default-character-set=utf8

輸入密碼登陸即可

使用Docker部署MySQL的實(shí)現(xiàn)步驟

查看數(shù)據(jù)庫(kù)

mysql> show databases;

使用Docker部署MySQL的實(shí)現(xiàn)步驟

設(shè)置能遠(yuǎn)程登錄mysql

mysql> use mysql

輸出

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

查看用戶

mysql> select host,user from user;

使用Docker部署MySQL的實(shí)現(xiàn)步驟

設(shè)置root用戶在任何地方進(jìn)行遠(yuǎn)程登錄,并具有所有庫(kù)任何操作權(quán)限。
(暴露的攻擊面太大)。

 給用于授予權(quán)限
grant all privileges on *.*  to 'root'@'%' ; 

修改用戶的密碼和加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼';

刷新

FLUSH PRIVILEGES;

下面是網(wǎng)上查到最多授權(quán)的寫法,可能會(huì)報(bào)錯(cuò)或者無法連接

允許root用戶在任何地方進(jìn)行遠(yuǎn)程登錄

mysql> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Dl123456';

允許root用戶在任何地方進(jìn)行遠(yuǎn)程登錄,并具有所有庫(kù)任何操作權(quán)限

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Dl123456' WITH GRANT OPTION;

刷新

FLUSH PRIVILEGES;
flush privileges;

如果現(xiàn)在還沒有連接成功建議重啟下Docker容器:

docker restart [CONTAINER ID]

退出mysql數(shù)據(jù)庫(kù):

exit

【說明】
mysql 8.0版本以后 默認(rèn)使用 caching_sha2_password 身份驗(yàn)證機(jī)制 —— 從原來的 mysql_native_password 更改為 caching_sha2_password。

從 5.7 升級(jí) 8.0 版本的不會(huì)改變現(xiàn)有用戶的身份驗(yàn)證方法,但新用戶會(huì)默認(rèn)使用新的 caching_sha2_password 。

客戶端不支持新的加密方式。

更改加密方式

update user set password_expired = "Y"where user="root";
ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Dl123456';

遠(yuǎn)程連接

允許root用戶在一個(gè)特定的IP進(jìn)行遠(yuǎn)程登錄,并具有所有庫(kù)任何操作權(quán)限
在本機(jī)先使用root用戶登錄mysql進(jìn)行授權(quán)操作:

mysql -u root -p"youpassword" 
GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword" WITH GRANT OPTION;

重載授權(quán)表: FLUSH PRIVILEGES; 退出mysql數(shù)據(jù)庫(kù): exit

允許root用戶在一個(gè)特定的IP進(jìn)行遠(yuǎn)程登錄,并具有所有庫(kù)特定操作權(quán)限,
在本機(jī)先使用root用戶登錄mysql 進(jìn)行授權(quán)操作:

mysql -u root -p"youpassword" 
GRANT select,insert,update,delete ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword";

重載授權(quán)表: FLUSH PRIVILEGES; 退出mysql數(shù)據(jù)庫(kù): exit

刪除用戶授權(quán),需要使用REVOKE命令,

先在本機(jī)登錄mysql進(jìn)行授權(quán)操作:

mysql -u root -p"youpassword"
GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIED BY "youpassword"; 
 REVOKE privileges ON 數(shù)據(jù)庫(kù)[.表名] FROM user-name; 
 REVOKE all on TEST-DB from test-user;

【注】該操作只是清除了用戶對(duì)于TEST-DB的相關(guān)授權(quán)權(quán)限,但是這個(gè)“test-user”這個(gè)用戶還是存在。

最后從用戶表內(nèi)清除用戶:

DELETE FROM user WHERE user="test-user"; 

重載授權(quán)表: FLUSH PRIVILEGES; 退出mysql數(shù)據(jù)庫(kù): exit

MYSQL權(quán)限詳細(xì)分類:

全局管理權(quán)限

  • FILE: 在MySQL服務(wù)器上讀寫文件。
  • PROCESS: 顯示或殺死屬于其它用戶的服務(wù)線程。
  • RELOAD: 重載訪問控制表,刷新日志等。
  • SHUTDOWN: 關(guān)閉MySQL服務(wù)。

數(shù)據(jù)庫(kù)/數(shù)據(jù)表/數(shù)據(jù)列權(quán)限

  • ALTER: 修改已存在的數(shù)據(jù)表(例如增加/刪除列)和索引。
  • CREATE: 建立新的數(shù)據(jù)庫(kù)或數(shù)據(jù)表。
  • DELETE: 刪除表的記錄。
  • DROP: 刪除數(shù)據(jù)表或數(shù)據(jù)庫(kù)。
  • INDEX: 建立或刪除索引。
  • INSERT: 增加表的記錄。
  • SELECT: 顯示/搜索表的記錄。
  • UPDATE: 修改表中已存在的記錄。

特別的權(quán)限

  • ALL: 允許做任何事(和root一樣)。
  • USAGE: 只允許登錄–其它什么也不允許做。

 到此這篇關(guān)于使用Docker部署MySQL的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Docker部署MySQL內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

分享到:
標(biāo)簽:Docker MySQL 服務(wù)器 步驟 部署
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定