一、環(huán)境準(zhǔn)備
本文環(huán)境是Redhat7上自帶的MariaDB, 在安裝redhat系統(tǒng)時已經(jīng)自動安裝好了,如果需要自行安裝的話,可以到MariaDB官方網(wǎng)站獲取安裝方式。
MariaDB官方網(wǎng)站點此進入
點擊Download按鈕進入下載頁
根據(jù)自己的需要選擇安裝方式,這里以Repo安裝為例, 大體步驟就是選擇對應(yīng)的版本,配置鏡像源,最后使用yum安裝即可:
二、啟動MariaDB
安裝完成后,使用root賬號啟動MariaDB
[root@192 ~]# systemctl start mariadb
嘗試連接服務(wù)器,看是否啟動成功, 然后exit退出
[root@192 ~]# mysql
三、初始化MariaDB
我們可以先看下mysql相關(guān)的命令, 它們位于/bin目錄下
[root@192 ~]# ll /bin/ | grep mysql
我們使用mysql_secure_installation來完成初始化, 根據(jù)交互提示一步步操作即可
此時,切換回普通用戶,嘗試連接數(shù)據(jù)庫,可以看到已經(jīng)可以訪問了。
[hubing@192 ~]$ mysql -hlocalhost -uroot -p -P3306
四、配置遠(yuǎn)程訪問
嚴(yán)格來講,出于安全考慮,root賬號只能在服務(wù)器上使用,不允許通過網(wǎng)絡(luò)進行遠(yuǎn)程登錄。所以本節(jié)的內(nèi)容并不是必須的。只是做一下示范,對于其他的非root用戶,是允許遠(yuǎn)程訪問的,那么便可以依葫蘆畫瓢進行配置。
在上面的初始化過程中,我們雖然沒有禁止遠(yuǎn)程使用MariaDB的root賬號訪問數(shù)據(jù)庫,但實際上此時我們遠(yuǎn)程訪問確實是訪問不了的。
嘗試遠(yuǎn)程使用數(shù)據(jù)庫root賬號登錄數(shù)據(jù)庫服務(wù)器192.168.233.129失敗, 提示:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.233.129:3306' (10060)
我們可以ping通數(shù)據(jù)庫服務(wù)器,只是無法連接,說明還有某些安全策略禁止了我們的訪問。
我們還切換到數(shù)據(jù)庫服務(wù)器192.168.233.129上進行操作。
先登錄上數(shù)據(jù)庫:
[hubing@192 ~]$ mysql -hlocalhost -uroot -p -P3306
然后切換到mysql db
MariaDB [(none)]> use mysql;
查表獲取當(dāng)前的配置信息:
MariaDB [mysql]> select host, user from user;
可以看到這里并沒有允許遠(yuǎn)程連接,需要授權(quán)root用戶的所有權(quán)限并設(shè)置遠(yuǎn)程訪問。
依次執(zhí)行:
//任何遠(yuǎn)程主機都可以使用root賬號訪問數(shù)據(jù)庫
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密碼';
//刷新以便立即生效
FLUSH PRIVILEGES;
如果防火墻沒開放3306端口的話,還需要通過root用戶將3306端口配置為防火墻例外。
[root@192 ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@192 ~]# firewall-cmd --reload
[root@192 ~]# firewall-cmd --list-ports
文章來源:http://www.zghlxwxcb.cn/news/detail-759316.html
此時再次嘗試遠(yuǎn)程登錄數(shù)據(jù)庫,已經(jīng)可以成功進行登錄了。文章來源地址http://www.zghlxwxcb.cn/news/detail-759316.html
五、補充一些額外的MySql用戶賦權(quán)限的語句
-- 說明
-- {user} 替換為實際的用戶名
-- {passwd} 替換為實際的用戶密碼
-- {otherUser} 替換為其他用戶的用戶名
-- {otherPasswd} 替換為其他用戶的密碼
GRANT ALL ON {user}.* TO '{user}'@'%' IDENTIFIED BY '{passwd}';
GRANT ALL ON {user}.* TO '{user}'@'127.0.0.1' IDENTIFIED BY '{passwd}';
GRANT ALL ON {user}.* TO '{user}'@'localhost' IDENTIFIED BY '{passwd}';
GRANT SELECT ON mysql.* TO '{user}'@'%' IDENTIFIED BY '{passwd}';
GRANT PROCESS,FILE,SUPER,REPLICATION CLIENT,REPLICATION SLAVE ON *.* to '{user}'@'%' IDENTIFIED BY '{passwd}';
GRANT PROCESS,FILE,SUPER,REPLICATION CLIENT,REPLICATION SLAVE ON *.* to '{user}'@'127.0.0.1' IDENTIFIED BY '{passwd}';
GRANT PROCESS,FILE,SUPER,REPLICATION CLIENT,REPLICATION SLAVE ON *.* to '{user}'@'localhost' IDENTIFIED BY '{passwd}';
-- 將本庫的部分權(quán)限賦予其他用戶,復(fù)制以下語句,對其他用戶進行賦權(quán),包括各個分庫和查詢庫
GRANT SELECT ON {user}.* to '{otherUser}'@'%' IDENTIFIED BY '{otherPasswd}';
GRANT SELECT ON {user}.* to '{otherUser}'@'127.0.0.1' IDENTIFIED BY '{otherPasswd}';
GRANT SELECT ON {user}.* to '{otherUser}'@'localhost' IDENTIFIED BY '{otherPasswd}';
到了這里,關(guān)于在linux上安裝并初始化配置MariaDB支持遠(yuǎn)程登錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!