Docker構建Mariadb資料庫
基於commit命令方式創建
docker安裝
下載本地鏡像
創建交互型容器
注意:以上如有安裝則可忽略
安裝mariadb服務
初始化mariadb
後台啟動mariadb服務
創建mariadb登錄密碼,並可以指定ip登錄
容器登錄驗證
創建容器啟動腳本
創建鏡像[root@izwz9e0xboek6oqv758aasz ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES3761c0601fa0 centos "/bin/bash" 11 minutes ago Exited (0) 8 seconds ago mysqlserver[root@izwz9e0xboek6oqv758aasz ~]# docker commit mysqlserver mariadb:1.0
創建容器
主機登錄驗證
基於Dockerfile方式創建
設置創建目錄和文件
編輯Dockerfile文件
編輯db_init.sh
編輯run.sh
創建鏡像
創建容器
登錄驗證
遠程訪問
授權法
登錄到mysql中,為root進行遠程訪問的授權,執行下面的命令:mysql> GRANT ALL PRIVILEGES ON.TO root@"%" IDENTIFIED BY "root";mysql> flush privileges;第一句中"%"表示任何主機都可以遠程登錄到該伺服器上訪問。如果要限制只有某台機器可以訪問,將其換成相應的IP即可,如:GRANT ALL PRIVILEGES ON.TO root@"172.168.2.135" IDENTIFIED BY "root";
第二句表示從MySQL資料庫的grant表中重新載入許可權數據。因為mysql把許可權都放在了cache中,所以在做完更改後需要重新載入。
默認mysql的用戶是沒有遠程訪問的許可權的,因此當程序跟資料庫不在同一台伺服器上時,我們需要開啟mysql的遠程訪問許可權。
改表法
1、登陸mysql
2、修改mysql庫的user表,將host項,從localhost改為%。%這裡表示的是允許任意host訪問,如果只允許某一個ip訪問,則可改為相應的ip,比如可以將localhost改為192.168.2.135,這表示只允許區域網的192.168.2.135這個ip遠程訪問mysql。
注意:【阿里雲控制台安全設置中開放3306埠】,否則不管怎麼配置遠程也不能訪問!!!
找到網路和安全中的安全組,選擇對應實例的配置規則,然後配置相應的出入規則就行了,T-T,搞了半天原來是這個原因。
TAG:程序猿Lv |