QNAP威聯通安裝MySQL(container station安裝 docker安裝)更換代替自帶的MariaDB
QNAP似乎並沒有自帶MySQL資料庫元件,因此我採用docker方式安裝
開啟container station,即docker,安裝MySQL
在Docker Hub中選擇如圖
選擇latest版本安裝,預設都是8.0
等待較長時間後(我大概等了10分鐘),可以看到如圖正在執行的MySQL
嘗試登陸mysql
密碼在啟動日誌裡,所以我們接下去找一下
展開控制檯找日誌裡的密碼
每個人安裝後的密碼都是隨機的
執行如下命令,進入MySQL
在執行命令中輸入 mysql -u root -p密碼複製過來
登陸mysql成功會出現如下介面
mysql>
- 安裝後需要更改為自己的密碼
FLUSH PRIVILEGES; ALTER USER "root"@"localhost" IDENTIFIED BY ‘abc123’; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ‘abc123'; (上面兩句話都可以,任選一種,但是密碼部分必須重新打才有效) 然後繼續執行下列程式碼 flush privileges; quit;
大功告成,我們用mysql客戶端軟體連線測試一下
使用Navicat連線MySQL
連線發現不成功
這是因為使用的是遠端連線,換本地連線試試
在威聯通的app center中的phpMyAdmin連線試試,成功登陸,所以資料庫沒問題
那麼,如何開啟遠端訪問?
MySQL開啟遠端訪問
登入後先使用mysql資料庫 可以show databases; 檢視有四個資料庫
然後使用命令 use mysql
查詢
select user,host from user;
如果沒有"%"這個host值,就執行下面這兩句:
mysql> update user set host='%' where user='root'; mysql> flush privileges;
然後再執行下面這兩句:
select user,host from user;
發現root後面有百分號了。
設定可以遠端訪問
grant all privileges on *.* to root@'%'identified by 'abc123';
有的版本不支援上述寫法,就用下面的寫法:
grant all privileges on *.* to ‘root'@‘%';
還是不能遠端訪問?
如果還是不能訪問,只有兩種可能
1、路由器埠轉發出了問題
雖然container station裡面mysql的埠是3306,但威聯通與路由器通訊的埠可不是3306!!!檢視真正的埠:
開啟設定,高階,
我這裡真正的埠號是32773,所以外網連線的時候,在路由器的埠轉發中,內網埠其實是32773
2、防火牆問題
威聯通一般沒有防火牆問題,只可能是與MariaDB埠衝突之類的,因為威聯通自帶一個MariaDB。如圖,我一般是禁用的