MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL受權許可。開發這個分支的緣由之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,所以社區採用分支的方式來避開這個風險。MariaDB的目的是徹底兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。Red Hat Enterprise Linux/CentOS 7.0 發行版已將默認的數據庫從 MySQL 切換到 MariaDB。mysql
添加MariaDB的YUM配置文件MariaDB.repo文件sql
vim /etc/yum.repos.d/MariaDB.repo
添加repo倉庫配置數據庫
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
yum install MariaDB-server MariaDB-client -y
systemctl start mariadb #啓動MariaDB systemctl stop mariadb #中止MariaDB systemctl restart mariadb #重啓MariaDB systemctl enable mariadb #設置開機啓動
在確認 MariaDB 數據庫軟件程序安裝完畢併成功啓動後請不要當即使用。爲了確保數據 庫的安全性和正常運轉,須要先對數據庫程序進行初始化操做。這個初始化操做涉及下面 5 個 步驟。vim
mysql_secure_installation
查看編碼centos
MariaDB [(none)]> \s -------------- mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1 Connection id: 3 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 5.5.60-MariaDB MariaDB Server Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 7 min 48 sec
中文編碼設置,編輯mysql配置文件/etc/my.cnf,寫入一下內容安全
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci log-error=/var/log/mysqld.log [client] default-character-set=utf8 [mysql] default-character-set=utf8
再次查看編碼socket
MariaDB [(none)]> \s -------------- mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1 Connection id: 2 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 5.5.60-MariaDB MariaDB Server Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 11 sec
查看如何建立的數據庫ide
MariaDB [wl]> show create database wl;
效果編碼
MariaDB [wanglan]> select * from wl; +------+--------+ | id | name | +------+--------+ | 1 | 張三 | +------+--------+
修改mysql密碼url
MariaDB [wanglan]> set password = PASSWORD('123456'); Query OK, 0 rows affected (0.00 sec)
爲了數據庫的安全以及和其餘用戶協同管理數據庫,就須要建立其餘數據庫帳戶,而後分配權限
MariaDB [(none)]> create user wl@'%' identified by '123'
建立一個名爲wl的用戶,能夠在任何ip下登錄,密碼爲123
查看用戶
MariaDB [mysql]> select user,host,password from user where user='wl'; +---------+-----------+-------------------------------------------+ | user | host | password | +---------+-----------+-------------------------------------------+ | wl | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 | | +---------+-----------+-------------------------------------------+ 1 rows in set (0.00 sec)
mysql使用grant命令對帳戶進行受權,grant命令常見格式以下
grant 權限 on 數據庫.表名 to 帳戶@主機名 對特定數據庫中的特定表受權 grant 權限 on 數據庫.* to 帳戶@主機名 對特定數據庫中的全部表給與受權 grant 權限1,權限2,權限3 on *.* to 帳戶@主機名 對全部庫中的全部表給與多個受權 grant all privileges on *.* to 帳戶@主機名 對全部庫和全部表受權全部權限
設置權限
MariaDB [mysql]> grant all privileges on *.* to wanglan@'%' identified by '123';
Query OK, 0 rows affected (0.00 sec)
# 爲wl用戶設置添加對全部庫和表的權限,密碼爲123
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
#刷新權限
mysqldump命令用於備份數據庫數據
[root@master ~]# mysqldump -u root -p --all-databases > /tmp/db.dump
進入mariadb數據庫,刪除一個db
[root@master ~]# mysql -uroot -p MariaDB [(none)]> drop database s11;
進行數據恢復,吧剛纔重定向備份的數據庫文件導入到mysql中
[root@master ~]# mysql -uroot -p < /tmp/db.dump
方式二
進入數據庫後,執行
MariaDB [(none)]> source /tmp/db.dump