CentOS7下使用yum安裝MariaDB

從CentOS 7開始,使用 MariaDB 替代默認的 MySQL。MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。

Linux下安裝MariaDB官方文檔參見:https://mariadb.com/kb/zh-cn/installing-mariadb-with-yum/

全部刪除MySQL/MariaDB

MySQL 已經不再包含在 CentOS 7 的源中,而改用了 MariaDB;

1.使用rpm -qa | grep mariadb搜索 MariaDB 現有的包:

如果存在,使用rpm -e --nodeps mariadb-*全部刪除:

[root@localhost ~]# rpm -qa | grep mariadb
[root@localhost ~]# rpm -e mysql-*

2.使用rpm -qa | grep mariadb搜索 MariaDB 現有的包:

如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql51全部刪除;

[root@localhost ~]# yum remove mysql mysql-server mysql-libs compat-mysql51
[root@localhost ~]# rpm -qa|grep mariadb

3.開始新的安裝, 創建MariaDB.repo文件

vi /etc/yum.repos.d/MariaDB.repo

插入以下內容:

複製代碼
# MariaDB 10.2.4 CentOS repository list - created 2017-05-05 16:13 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
複製代碼

系統及版本選擇:https://downloads.mariadb.org/mariadb/repositories/#mirror=tuna

4.運行安裝命令安裝MariaDB

[root@localhost ~]# yum -y install MariaDB-server MariaDB-client

首先下載安裝包,然後進行自動安裝,安裝成功之後啓動MariaDB服務。

systemctl start mariadb #啓動服務
systemctl enable mariadb #設置開機啓動
systemctl restart mariadb #重新啓動
systemctl stop mariadb.service #停止MariaDB

5.登錄到數據庫

  用mysql -uroot命令登錄到MariaDB,此時root賬戶的密碼爲空。

6.進行MariaDB的相關簡單配置,使用mysql_secure_installation命令進行配置。

mysql_secure_installation

 首先是設置密碼,會提示先輸入密碼

Enter current password for root (enter for none):<–初次運行直接回車

設置密碼

Set root password? [Y/n] <– 是否設置root用戶密碼,輸入y並回車或直接回車
New password: <– 設置root用戶的密碼
Re-enter new password: <– 再輸入一次你設置的密碼

其他配置

Remove anonymous users? [Y/n] <– 是否刪除匿名用戶,回車

Disallow root login remotely? [Y/n] <–是否禁止root遠程登錄,回車,

Remove test database and access to it? [Y/n] <– 是否刪除test數據庫,回車

Reload privilege tables now? [Y/n] <– 是否重新加載權限表,回車

初始化MariaDB完成,接下來測試登錄

mysql -uroot -ppassword

完成。

 7.配置MariaDB的字符集

  查看/etc/my.cnf文件內容,其中包含一句!includedir /etc/my.cnf.d 說明在該配置文件中引入/etc/my.cnf.d 目錄下的配置文件。

  1)使用vi server.cnf命令編輯server.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

  如果/etc/my.cnf.d 目錄下無server.cnf文件,則直接在/etc/my.cnf文件的[mysqld]標籤下添加以上內容。

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

vi /etc/my.cnf.d/client.cnf

在[client]中添加

default-character-set=utf8

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

vi /etc/my.cnf.d/mysql-clients.cnf

在[mysql]中添加

default-character-set=utf8

 全部配置完成,重啓mariadb

systemctl restart mariadb

之後進入MariaDB查看字符集

mysql> 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)
複製代碼

字符集配置完成。

8. 添加用戶,設置權限

創建用戶命令

mysql>create user username@localhost identified by 'password';

直接創建用戶並授權的命令

mysql>grant all on *.* to username@localhost indentified by 'password';

授予外網登陸權限 

mysql>grant all privileges on *.* to username@'%' identified by 'password';

授予權限並且可以授權

mysql>grant all privileges on *.* to username@'hostname' identified by 'password' with grant option;

 查詢各Schema和Table佔用的空間:

MariaDB [information_schema]> use information_schema;
MariaDB [information_schema]> select table_schema,round(sum(DATA_LENGTH/1024/1024),2) as datasize  from tables group by table_schema;
MariaDB [information_schema]> select table_name,concat(round(sum(data_length/1024/1024),2),'MB') as datasize from tables where table_schema='nemo' group by table_name;

簡單的用戶和權限配置基本就這樣了。

其中只授予部分權限把 其中 all privileges或者all改爲select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file其中一部分。

Linux系統教程:如何檢查MariaDB服務端版本  http://www.linuxidc.com/Linux/2015-08/122382.htm

MariaDB Proxy讀寫分離的實現 http://www.linuxidc.com/Linux/2014-05/101306.htm

Linux下編譯安裝配置MariaDB數據庫的方法 http://www.linuxidc.com/Linux/2014-11/109049.htm

CentOS系統使用yum安裝MariaDB數據庫 http://www.linuxidc.com/Linux/2014-11/109048.htm

安裝MariaDB與MySQL並存 http://www.linuxidc.com/Linux/2014-11/109047.htm

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章