1. 程式人生 > >linux伺服器安裝mariaDB(MySQL通用)

linux伺服器安裝mariaDB(MySQL通用)

1.進入mariaDB官方源:

https://downloads.mariadb.org/mariadb/repositories/#mirror=tuna

選擇相應作業系統下的清華或中科大的資源,按照提示安裝

按照提示操作完之後會設定密碼

2.為MariaDB配置遠端訪問許可權(不然客戶端不能登入)百度搜索:為MariaDB配置遠端訪問許可權

參考如下:

  最近在配置MySQL遠端連線的時候發現我的MySQL資料庫採用的是 MariaDB 引擎,與普通的資料庫配置有點不同
經過查詢資料終於完成了,特此記錄方便以後查詢
MariaDB 與普通的MySQL資料庫的一個不同在於它的配置檔案不止一個,它將不同的資料放入到不同的配置檔案中,之前的/etc/mysql/my.cnf內容如下:
這裡寫圖片描述


從檔案中的註釋上來看,它主要有這麼幾個配置檔案

  1. /etc/mysql/mariadb.cnf 預設配置檔案,
  2. /etc/mysql/conf.d/*.cnf 設定全域性項的檔案
  3. "/etc/mysql/mariadb.conf.d/*.cnf" 設定與MariaDB相關的資訊
  4. "~/.my.cnf" 設定該賬戶對應的資訊

這也就是為什麼我們在my.cnf做相關設定有的時候不起作用(可能在其他配置檔案中有相同的項,MySQL最終採用的是另外一個檔案中的設定)。
根據官方的說法, MariaDB為了提高安全性,預設只監聽127.0.0.1中的3306埠並且禁止了遠端的TCP連結,我們可以通過下面兩步來開啟MySQL的遠端服務

  1. 註釋掉skip-networking選項來開啟遠端訪問.
  2. 註釋bind-address項,該項表示執行哪些IP地址的機器連線,允許所有遠端的機器連線
    但是配置檔案這麼多,這兩選項究竟在哪呢?這個時候使用grep在/etc/mysql/目錄中的所有檔案中遞迴查詢,看哪個檔案中含有這個字串
    我們輸入:
grep -rn "skip-networking" *

,結果如下:
這裡寫圖片描述
十分幸運的是這兩項都在同一檔案中(我自己的是沒有skip-networking項)
我們開啟檔案/etc/mysql/mariadb.conf.d/50-server.cnf,註釋掉bind-address項,如下:
這裡寫圖片描述
只有這些仍然不夠,我們只是開啟了MySQL監聽遠端連線的選項,接下來需要給對應的MySQL賬戶分配許可權,允許使用該賬戶遠端連線到MySQL
輸入

select User, host from mysql.user;

檢視使用者賬號資訊:
這裡寫圖片描述
root賬戶中的host項是localhost表示該賬號只能進行本地登入,我們需要修改許可權,輸入命令:

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

修改許可權。%表示針對所有IP,password表示將用這個密碼登入root使用者,如果想只讓某個IP段的主機連線,可以修改為

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.100.%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;

注意:此時遠端連線的密碼可能與你在本地登入時的密碼不同了,主要看你在IDENTIFIED BY後面給了什麼密碼
具體的請參考GRANT命令
最後別忘了

FLUSH PRIVILEGES;

儲存更改。再看看使用者資訊:
這裡寫圖片描述
這個時候發現相比之前多了一項,它的host項是%,這個時候說明配置成功了,我們可以用該賬號進行遠端訪問了
輸入
shell service mysql restart重啟遠端伺服器,測試一下:
這裡寫圖片描述
如果這些都做完了,還是不能連線,可以看一下埠是不是被防火牆攔截了

3.為了方便操作可以安裝LXDE圖形化介面)(後臺安裝軟體:安裝過程中按ctrl+2)