CentOS 自从 7.0 以后,其操作系统默认的数据库系统从之前的 MySQL 变成了 MariaDB。MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可 MariaDB 的目的是完全兼容 MySQL,包括 API 和命令行,使之能轻松成为 MySQL 的代替品。
MariaDB 由 MySQL 的创始人 Michael Widenius 主导开发,他早前曾以10亿美元的价格,将自己创建的公司 MySQL AB 卖给了 SUN,此后,随着SUN 被甲骨文收购,MySQL 的所有权也落入 Oracle 的手中。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 过去一年中,大型互联网用户以及 Linux 发行商(比如这里的 CentOS)纷纷抛弃 MySQL,转投MariaDB 阵营。MariaDB 是目前最受关注的 MySQL 数据库衍生版,也被视为开源数据库 MySQL 的替代品。
MariaDB 默认的存储引擎是 Maria,不是 MyISAM。Maria 可以支持事务,但是默认情况下没有打开事务支持,因为事务支持对性能会有影响。
MariaDB 的安装与配置流程:
1、检测当前 CentOS 系统版本
lsb_release -a LSB Version
2、安装 MariaDB
yum install mariadb*
3、启动 MariaDB
systemctl enable mariadb
systemctl start mariadb
4、配置管理员用户权限
mysqladmin -u root password 'your@password'
5、设置远程连接的数据库账户
mysql -u root -p 'your@password'
> use mysql;
> insert into user(Host, User, Password) values ('localhost', 'remote', password('your@password'));
> flush privileges;
> create database dbname;
> grant all privileges on dbname.* to 'remote'@'%' identified by 'your@password';
> flush privileges;
接下来便可以通过 SQLyog 等数据库远程连接工具以‘remote’用户登陆 MariaDB。我们仍然可以使用 service 命令来查看当前数据库的状态或者停止\启动数据库,在使用 service 执行对应的命令时,该命令会被自动跳转到对应的 systemctl 命令进行执行。
service mariadb status
service mariadb stop
service mariadb start
service mariadb restart
对应于实际执行的命令:
systemctl status mariadb.service
systemctl stop mariadb.service
systemctl start mariadb.service
systemctl restart mariadb.service