目錄
1.準備環境
MariaDB 數據庫管理系統是 MySQL 的一個分支,主要由開源社區在維護,採用 GPL 授權許可。
ip | 版本 |
---|---|
192.168.2.5 | cat /etc/redhat-release |
2.安裝MariaDB
通過yum安裝mariadb-server,默認依賴安裝mariadb,一個是服務端、一個是客戶端
yum install mariadb-server
3.配置MariaDB
3.1設置開機啓動
安裝完成後首先要把MariaDB服務開啓,並設置爲開機啓動
systemctl start mariadb # 開啓服務
systemctl enable mariadb # 設置爲開機自啓動服務
3.2數據庫配置
首次安裝需要進行數據庫的配置,命令都和mysql的一樣
mysql_secure_installation
Enter current password for root (enter for none): # 輸入數據庫超級管理員root的密碼(注意不是系統root的密碼),第一次進入還沒有設置密碼則直接回車
Set root password? [Y/n] # 設置密碼,y
New password: # 新密碼
Re-enter new password: # 再次輸入密碼
Remove anonymous users? [Y/n] # 移除匿名用戶, y
Disallow root login remotely? [Y/n] # 拒絕root遠程登錄,n,不管y/n,都會拒絕root遠程登錄
Remove test database and access to it? [Y/n] # 刪除test數據庫,y:刪除。n:不刪除,數據庫中會有一個test數據庫,一般不需要
Reload privilege tables now? [Y/n] # 重新加載權限表,y。或者重啓服務也許
3.3測試連接
測試是否能夠登錄成功,出現 MariaDB [(none)]> 就表示已經能夠正常登錄使用MariaDB數據庫了
[root@node2 opt]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.65-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]>
4.設置MariaDB字符集爲utf-8
4.1 /etc/my.cnf 文件
在 [mysqld] 標籤下添加
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
4.2 /etc/my.cnf.d/client.cnf 文件
在 [client] 標籤下添加
default-character-set=utf8
4.3. /etc/my.cnf.d/mysql-clients.cnf 文件
在 [mysql] 標籤下添加
default-character-set=utf8
4.4.重啓服務
systemctl restart mariadb
4.5.mariadb查看字符集
MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_unicode_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
MariaDB [(none)]>
5.遠程鏈接mariadb數據庫
mariadb默認是拒絕 root 遠程登錄的。這裏用的是 navicat 軟件連接數據庫
5.1.關閉防火牆 systemctl stop firewalld
systemctl stop firewalld
在不關閉防火牆的情況下,允許某端口的外來鏈接。步驟如下,開啓3306端口,重啓防火牆
firewall-cmd --query-port=3306/tcp # 查看3306端口是否開啓
firewall-cmd --zone=public --add-port=3306/tcp --permanent # 開啓3306端口
firewall-cmd --reload # 重啓防火牆
firewall-cmd --query-port=3306/tcp # 查看3306端口是否開啓
###5.2先查看mysql數據庫中的user表
use mysql;
select host, user from user;
將與主機名相等的字段改爲 “%”
MariaDB [mysql]> update user set host='%' where host='node2.bigdata.com';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [mysql]> select host, user from user;
+-----------+------+
| host | user |
+-----------+------+
| % | root |
| 127.0.0.1 | root |
| ::1 | root |
| localhost | root |
+-----------+------+
4 rows in set (0.00 sec)
刷新權限表,或重啓mariadb服務
flush privileges;
systemctl restart mariadb