從CentOS 7開始,使用 MariaDB 替代默認的 MySQL。MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL受權許可 MariaDB的目的是徹底兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。node
Linux下安裝MariaDB官方文檔參見:https://mariadb.com/kb/zh-cn/installing-mariadb-with-yum/mysql
所有刪除MySQL/MariaDBlinux
MySQL 已經再也不包含在 CentOS 7 的源中,而改用了 MariaDB;sql
1.使用rpm -qa | grep mariadb搜索 MariaDB 現有的包:數據庫
若是存在,使用rpm -e --nodeps mariadb-*所有刪除:centos
[root@localhost ~]# rpm -qa | grep mariadb [root@localhost ~]# rpm -e mysql-*
2.使用rpm -qa | grep mariadb搜索 MariaDB 現有的包:ide
若是存在,使用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文件url
vi /etc/yum.repos.d/MariaDB.repo
插入如下內容:centos7
# 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