[RHEL]-26-使用MariaDB代替MySQL

引言

这篇文章将介绍一款开源的数据库管理工具MariaDB。

文章目录

0×1.安装与初始化MariaDB

MariaDB是由MySQL之父Michael Widenius开发的完全免费开源的一款数据库管理系统,在MySQL卖给SUN公司后,MySQL就一直存在必源的风险,为了规避这一风险,Michael Widenius在MySQL项目的基础上创建了MariaDB这一开源项目分之, 如今,许多大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营,这也让MariaDB成为最受关注的MySQL数据库衍生版,也被视MySQL的替代品。

因为MariaDB是MySQL项目的一个分之,所以在MariaDB中能够支持大部分的MySQL命令,MariaDB跟MySQL在绝大多数方面是兼容的。

在RHEL7中使用yum安装与初始化MariaDB:

					#1.安装
					[root@qingsword.com ~]# yum install -y mariadb mariadb-server
					
					#2.启动MariaDB,并将其加入开机自启动
					[root@qingsword.com ~]# systemctl start mariadb
					[root@qingsword.com ~]# systemctl enable mariadb


					#3.初始化
					[root@qingsword.com ~]# mysql_secure_installation

					#第一次初始化,root没有密码,直接回车即可
					Enter current password for root (enter for none):
					
					#是否设置root密码
					Set root password? [Y/n] y

					#输入两遍root密码
					New password: 
					Re-enter new password: 

					#是否移除匿名用户,为了安全,移除
					Remove anonymous users? [Y/n] y

					#不允许远程root登录,考虑到安全性,选择y
					Disallow root login remotely? [Y/n] y

					#移除测试数据库
					Remove test database and access to it? [Y/n] y

					#使上面的配置立即生效
					Reload privilege tables now? [Y/n] y

					#4.本地使用root登录
					[root@qingsword.com ~]# mysql -u root -p
					Enter password:  #输入初始化时设置的root密码
					Server version: 5.5.52-MariaDB MariaDB Server

					MariaDB [(none)]>
					

0×2.MariaDB实例

实例一:修改当前用户密码

					#将root密码设置成12345678
					MariaDB [(none)]> set password = password ('12345678');
					

实例二:创建用户并授权

					#创建数据库用户命令
					# create user 用户名@主机名 identified by '密码';
					MariaDB [(none)]> create user qingsword@localhost identified by '123456';
					MariaDB [(none)]> exit

					#使用新用户登录
					[root@qingsword.com ~]# mysql -u qingsword -p

					#新用户并没有什么权限
					MariaDB [(none)]> show databases;
					+--------------------+
					| Database           |
					+--------------------+
					| information_schema |
					+--------------------+

					#权限语法如下:

					# grant 权限 on 数据库.表单名称 to 用户名@主机名
					# 对某个特定数据库中的特定表单给予授权

					# grant 权限 on 数据库.* to 用户名@主机名
					# 对某个特定数据库中的所有表单给予授权

					# grant 权限 on *.* to 用户名@主机名
					# 对所有数据库及所有表单给予授权

					# grant 权限1,权限2 on 数据库.* to 用户名@主机名
					# 对某个数据库中的所有表单给予多个授权

					# grant all privileges on *.* to 用户名@主机名
					# 对所有数据库及所有表单给予全部授权

					#切换到root用户,给qingsword用户分配权限
					MariaDB [(none)]> exit
					[root@qingsword.com ~]# mysql -u root -p

					#给qingsword用户对mysql这个数据库中所有表,查询,更新,插入,删除权限
					MariaDB [(none)]> grant select,update,insert,delete on mysql.* to qingsword@localhost;

					#再次使用qingsword用户登录,就能够查看到mysql这个数据库了
					MariaDB [(none)]> exit
					[root@qingsword.com ~]# mysql -u qingsword -p
					MariaDB [(none)]> show databases;
					+--------------------+
					| Database           |
					+--------------------+
					| information_schema |
					| mysql              |
					+--------------------+

					#如果想删除qingsword用户的权限
					MariaDB [(none)]> exit
					[root@qingsword.com ~]# mysql -u root -p
					
					#只留下qingsword用户对mysql这个数据库中所有表的select权限
					MariaDB [(none)]> revoke update,delete,insert on mysql.* from qingsword@localhost;

					#使用下面的命令可以查看用户拥有的权限
					MariaDB [(none)]> show grants for qingsword@localhost;
					

更多的数据库使用方法,参考本站[MySql基础文档]系列文章。