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