在Linux中安裝MariaDB並添加遠程訪問


在Linux中安裝MariaDB並添加遠程訪問

最近學習到了數據庫部分,因為有一台台式機一台筆記本換着用,就沒有把數據庫安裝在本機,本來打算用之前買的虛擬空間的數據庫的,結果速度太慢用起來太難受了,就把閑置的香橙派(類似樹莓派的卡片電腦,強烈不建議非剛需買這玩意兒,基本閑置吃灰)拿出來安個MariaDB遠程訪問,下面是安裝的步驟

注1:我的是Debian系系統,如果你是RedHat系,把apt換成dnf或者yum就好
注2:所有命令均需要root權限

安裝MariaDB

1、安裝MariaDB

apt install mariadb-server

2、啟動MariaDB

systemctl start mariadb

3、設置MariaDB開機自啟

systemctl enable mariadb

4、執行初始化命令

mysql_secure_installation

初始化過程中會提示進行如下配置

# 輸入原來的root密碼,這里沒有密碼,直接回車就可以了
Enter current password for root (enter for none): 

# 更改root密碼?
Change the root password?

# 刪除匿名用戶?
Remove anonymous users?

# 禁用root遠程登錄?	注:我選了否,最后還是要自己配置
Disallow root login remotely?

# 是否刪除test測試數據庫?
Remove test database and access to it?

# 重新加載權限數據表
Reload privilege tables now?

配置完成后可以考慮重新啟動一下MariaDB

systemctl restart mariadb

配置遠程登錄

MariaDB安裝好后是默認不能通過遠程連接的,需要做以下修改

1、修改地址綁定

編輯/etc/mysql/mariadb.conf.d/50-server.cnf文件

將其中的

bind-address = 127.0.0.1

更改為需要放行的地址,如更改為0.0.0.0則接受所有IP地址的連接請求

bind-address = 0.0.0.0

2、添加支持遠程登錄的用戶

我們可以先查詢以下

use mysql;
select host,user from user;

在我安裝之后,只能看到一個本地root用戶

host user
localhost root

所以要添加一個遠程登錄的用戶,因為是自己用,我就直接添加了一個授予所有權限的用戶,如果是生產環境,慎重!!!

-- 創建用戶
CREATE USER '用戶名'@'主機名' IDENTIFIED BY '密碼';
--示例1,允許所有從任意地址登錄的用戶: create user 'ActionNet'@'%' identified by 'zxc123';
--示例2,允許從192.168.199.100登錄的用戶: create user 'ActionNet'@'192.168.199.100' identified by 'zxc123';


-- 授予權限
grant 權限列表 on 數據庫名.表名 to '用戶名'@'主機名';
-- 示例:授予任意地址登錄ActionNet用戶所有數據庫所有權限
GRANT ALL ON *.* TO 'ActionNet'@'%';

最近遇到了添加了遠程賬戶還是無法登錄的情況,具體為Access denied for user 'root'@'localhost'
這時候可以看看對應用戶的plugin是不是mysql_native_password,因為這個才代表密碼登錄

select user,host,plugin from user;
User Host plugin
root localhost mysql_native_password

如果plugin不是這個,可以自己修改一下,正常修改表數據的SQL,就不寫了

配置防火牆

之前因為我沒有開防火牆,所以沒想過會有這方面的問題,現在加上

# firewall
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --add-port=3306/tcp
# iptables
iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT

添加完防火牆記得重啟一下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM