Top31:RHEL-Linux上部署MariaDB
适用:RHEL
MariaDB的由来:
由于MySQL的母公司Sun在2009 年被Oracle收购后,MySQL数据库项目也随之纳入Oracle麾下,逐步演变为保持着开源软件的身份,但又申请了多项商业专利的软件系统。
开源软件是全球黑客、极客、程序员等技术高手在开源社区的大旗下的公共智慧结晶,自己的劳动成果被其他公司商业化自然也伤了一大批开源工作者的心,因此由MySQL 项目创始者重新研发了一款名为MariaDB 的全新数据库管理系统。
该软件当前由开源社区进行维护,是MySQL的分支产品,而且几乎完全兼容MySQL。
与MySQL对比
相较于 MySQL,MariaDB 数据库管理系统有了很多新鲜的扩展特性,例如对微秒级别的支持、线程池、子查询优化、进程报告等。
安装
安装完后启动,并加入开机启动项中
yum install mariadb mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
初始化操作
共分为5个步骤
1.设置 root 管理员在数据库中的密码值
2.设置 root 管理员在数据库中的专有密码
3.删除匿名账户,并使用root 管理员从远程登录数据库,以确保数据库上运行的业务的安全性。
4.删除默认的测试数据库,取消测试数据库的一系列访问权限
5.刷新授权列表,让初始化的设定立即生效。
mysql_secure_installation
允许远程访问,设置防火墙放行
firewall-cmd --permanent --add-service=mysql
firewall-cmd --reload
登录
mysql -u root -p
更改root密码
SET password = PASSWORD('NewPassword');
创建账户
CREATE USER 用户名@主机名 IDENTIFIED BY '密码';
查看账户信息
SELECT HOST,USER,PASSWORD FROM user WHERE USER="用户名";
对账户授权
命令 | 作用 |
---|---|
GRANT 权限ON 数据库.表单名称TO 账户名@主机名 | 对某个特定数据库中的特定表单给予授权 |
GRANT 权限ON 数据库.*TO 账户名@主机名 | 对某个特定数据库中的所有表单给予授权 |
GRANT 权限ON*.*TO 账户名@主机名 | 对所有数据库及所有表单给予授权 |
GRANT 权限1,权限2 ON 数据库.*TO 账户名@主机名 | 对某个数据库中的所有表单给予多个授权 |
GRANT ALL PRIVILEGES ON *.*TO 账户名@主机名 | 对所有数据库及所有表单给予全部授权(需谨慎操作) |
例:
#针对mysql 数据库中的user 表单向账户luke 授予查询、更新、删除以及插入等权限。
mysql -u root –p
use mysql;
GRANT SELECT,UPDATE,DELETE,INSERT ON mysql.user TO luke@localhost;
#查看 luke 账户的权限
SHOW GRANTS FOR luke@localhost;
参考:https://www.linuxprobe.com/chapter-18.html