MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,采用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL后,有將MySQL閉源的潛在風險,因此社區采用分支的方式來避開這個風險。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。Red Hat Enterprise Linux/CentOS 7.0 發行版已將默認的數據庫從 MySQL 切換到 MariaDB。
安裝方法一:yum安裝mariadb
添加MariaDB yum倉庫
添加MariaDB的YUM配置文件MariaDB.repo文件
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
在centos7中安裝MariaDB
yum install MariaDB-server MariaDB-client -y
啟動MariaDB相關命令
systemctl start mariadb #啟動MariaDB systemctl stop mariadb #停止MariaDB systemctl restart mariadb #重啟MariaDB systemctl enable mariadb #設置開機啟動
初始化MariaDB
在確認 MariaDB 數據庫軟件程序安裝完畢並成功啟動后請不要立即使用。為了確保數據 庫的安全性和正常運轉,需要先對數據庫程序進行初始化操作。這個初始化操作涉及下面 5 個 步驟。
初始化命令
mysql_secure_installation
配置mysql
查看編碼
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
再次查看編碼
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
查看如何創建的數據庫
MariaDB [wl]> show create database wl;
效果
MariaDB [wanglan]> select * from wl; +------+--------+ | id | name | +------+--------+ | 1 | 張三 | +------+--------+
mysql基本命令
修改mysql密碼
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