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 = MariaDBbaseurl = http://yum.mariadb.org/10.1/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1
在centos7中安装MariaDB
yum install MariaDB-server MariaDB-client -y
启动MariaDB相关命令
systemctl start mariadb #启动MariaDBsystemctl stop mariadb #停止MariaDBsystemctl restart mariadb #重启MariaDBsystemctl 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.1Connection id: 3Current database: Current user: root@localhostSSL: Not in useCurrent pager: stdoutUsing outfile: ''Using delimiter: ;Server: MariaDBServer version: 5.5.60-MariaDB MariaDB ServerProtocol version: 10Connection: Localhost via UNIX socketServer characterset: latin1Db characterset: latin1Client characterset: utf8Conn. characterset: utf8UNIX socket: /var/lib/mysql/mysql.sockUptime: 7 min 48 sec
中文编码设置,编辑mysql配置文件/etc/my.cnf,写入一下内容
[mysqld]character-set-server=utf8collation-server=utf8_general_cilog-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.1Connection id: 2Current database: Current user: root@localhostSSL: Not in useCurrent pager: stdoutUsing outfile: ''Using delimiter: ;Server: MariaDBServer version: 5.5.60-MariaDB MariaDB ServerProtocol version: 10Connection: Localhost via UNIX socketServer characterset: utf8Db characterset: utf8Client characterset: utf8Conn. characterset: utf8UNIX socket: /var/lib/mysql/mysql.sockUptime: 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 -pMariaDB [(none)]> drop database s11;
进行数据恢复,吧刚才重定向备份的数据库文件导入到mysql中
[root@master ~]# mysql -uroot -p < /tmp/db.dump
方式二
进入数据库后,执行 MariaDB [(none)]> source /tmp/db.dump