[https://www.linuxidc.com/Linux/2018-03/151403.htm]
CentOS 7安裝MariaDB 10詳解以及相關配置
第一步:添加 MariaDB yum 倉庫
首先在CentOS操作系統中/etc/yum.repos.d/目錄下添加 MariaDB 的YUM配置文件MariaDB.repo文件。
vi /etc/yum.repos.d/MariaDB.repo
在該文件中添加以下內容保存:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
第二步:安裝 MariaDB
通過yum命令輕松安裝 MariaDB。
yum install MariaDB-server MariaDB-client -y
MariaDB 安裝完畢后,立即啟動數據庫服務守護進程。
systemctl start mariadb
設置 MariaDB 在操作系統重啟后自動啟動服務。
systemctl enable mariadb
查看 MariaDB 服務當前狀態。
systemctl status mariadb
第三步:對 MariaDB 進行安全配置
通過以下命令進行安全配置,根據實際情況用Y/N回復以下問題:設置 MariaDB 的 root 賬戶密碼,刪除匿名用戶,禁用 root 遠程登錄,刪除測試數據庫,重新加載權限表。
mysql_secure_installation
本人全都是選擇了Y,然后按回車。
在配置完數據庫的安全配置后,可以通過以下命令查看版本,確認 MariaDB已安裝成功。
mysql --version
可以通過 MariaDB 命令行登錄,然后對數據庫進行sql查詢操作。
mysql -u root -p
第四步:為 MariaDB 配置遠程訪問權限
在第三步中如果禁用 root 遠程登錄選擇 Y 的話就不能在別的電腦通過navicat等工具連接到數據庫,這時就需要給對應的 MariaDB 賬戶分配權限,允許使用該賬戶遠程連接到MariaDB。可以輸入以下命令查看賬號信息:
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.71.%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
最后別忘了:
FLUSH PRIVILEGES;
保存更改后,再看看用戶賬號信息:
這個時候發現相比之前多了一項,它的host項是%,這個時候說明配置成功了,我們可以用該賬號進行遠程訪問了。
第五步:CentOS 7 開放防火牆端口
在第四步后如果還是不能遠程連上數據庫的話應該就是3306端口被防火牆攔截了,這時我們就需要關閉防火牆或者開放防火牆端口。
關閉防火牆:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
開放防火牆端口,開啟后要重啟防火牆:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
第六步:設置數據庫字母大小寫不敏感
vi /etc/my.cnf.d/server.cnf
在[mysqld]下加上】
lower_case_table_names=1
默認是等於0的,即大小寫敏感。改成1就OK了。如果之前已經建了數據庫要把之前建立的數據庫刪除,重建才生效。
第七步:設置MariaDB數據庫默認編碼
MariaDB的默認編碼是latin1,插入中文會亂碼,因此需要將編碼改為utf8。
1.登錄,使用以下命令查看當前使用的字符集,應該有好幾個不是utf8格式。
SHOW VARIABLES LIKE 'character%';
2.修改的配置文件
vi /etc/my.cnf.d/client.cnf
在[client]字段里加入
default-character-set=utf8
vi /etc/my.cnf.d/server.cnf
在[mysqld]字段里加入
character-set-server=utf83.重啟 MariaDB 配置生效。
systemctl restart mariadb