11.30 MariaDB 數據庫

MariaDB 數據庫管理系統是 MySQL 的一個分支,主要由開源社區在維護,採用 GPL 授權許可。開發這個分支的原因之一是:甲骨文公司收購了 MySQL 後,有將 MySQL 閉源的潛在風險,因此社區採用分支的方式來避開這個風險。MariaDB完全兼容mysql,使用方法也是一樣的

有的centos7已經默認安裝了Mariadb,可以查看自己的有沒有安裝,沒有安裝的再進行安裝,已經安裝了可以不用安裝也可以卸載了重裝。卸載命令 yum remove mariadb-server


**1、安裝MariaDB**

通過yum安裝就行了。簡單快捷,安裝mariadb-server,默認依賴安裝mariadb,一個是服務端、一個是客戶端。


**2、配置MariaDB**

1)安裝完成後首先要把MariaDB服務開啟,並設置為開機啟動


[root@mini ~]# systemctl enable mariadb # 設置為開機自啟動服務

2)首次安裝需要進行數據庫的配置,命令都和mysql的一樣


3)配置時出現的各個選項


輸入數據庫超級管理員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。或者重啟服務也許


4)測試是否能夠登錄成功,出現 MariaDB [(none)]> 就表示已經能夠正常登錄使用MariaDB數據庫了

[root@mini ~]# mysql -u root -p

Enter password:

Welcome to the MariaDB monitor. Commands end with ; or \\g.

Your MariaDB connection id is 8 Server version: 5.5.60-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)]>


**3、設置MariaDB字符集為utf-8**

1)/etc/my.cnf 文件

在 [mysqld] 標籤下添加


2)/etc/my.cnf.d/client.cnf 文件

在 [client] 標籤下添加


3)/etc/my.cnf.d/mysql-clients.cnf 文件

在 [mysql] 標籤下添加


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 | latin1 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.01 sec) +----------------------+-------------------+

| Variable_name | Value |

+----------------------+-------------------+

| collation_connection | utf8_general_ci |

| collation_database | latin1_swedish_ci |

| collation_server | latin1_swedish_ci |

+----------------------+-------------------+

3 rows in set (0.00 sec)

MariaDB [(none)]>

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.00 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)]>


**4、遠程鏈接mariadb數據庫**

mariadb默認是拒絕 root 遠程登錄的。這裡用的是 navicat 軟件連接數據庫

1)關閉防火牆

① 關閉防火牆 systemctl stop firewalld


② 在不關閉防火牆的情況下,允許某端口的外來鏈接。步驟如下,開啟3306端口,重啟防火牆

[root@mini ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否開啟

no

[root@mini ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent # 開啟3306端口

success

[root@mini ~]# firewall-cmd --reload # 重啟防火牆

success

[root@mini ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否開啟

yes


2)先查看mysql數據庫中的user表

[root@mini ~]# mysql -u root -p # 先通過本地鏈接進入數據庫

MariaDB [(none)]> use mysql;

MariaDB [mysql]> select host, user from user; +-----------+------+

| host | user |

+-----------+------+

| 127.0.0.1 | root |

| ::1 | root |

| mini | root |

+-----------+------+

3 rows in set (0.00 sec)


3)將與主機名相等的字段改為 "%" ,我的主機名為mini,

MariaDB [mysql]> update user set host='%' where host='mini';

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 |

| localhost | root |

+-----------+------+

3 rows in set (0.00 sec)


4)刷新權限表,或重啟mariadb服務,一下二選一即可


[root@mini ~]# systemctl restart mariadb

注意:刷新權限表是在數據庫中,重啟服務是在外部命令行中

6)重新遠程鏈接mariadb


MariaDB 數據庫


分享到:


相關文章: