MySQL和mariaDB区别
mariaDB其实是MySQL源代码的一个分支,原本MySQL是一个开源的数据库,但是在2009年4月20日,Oracle公司收购了SUN公司,MySQL也从SUN公司转手到Oracle公司,那么MySQL以后是否继续开源变成了一个未知数,在意识到Oracle公司可能会对MySQL的许可做什么后, mariaDB从MySQL中分离了出来,mariaDB作为MySQL的"向下替代品",mariaDB包含了一些优于MySQL的新特性,所以以后看见要求安装MySQL作为环境要求的,其实可以安装mariaDB,一般不会出现错误,所以下面我们直接安装mariaDB
通过下面命令来安装mariaDB
yum -y install mariadb*
通过下面命令来启动mariadb服务
systemctl start mariadb.servicesystemctl enable mariadb.service
初次安装mariaDB和MySQL情况是一样的,root用户没有密码(MySQL与mariaDB命令配置几乎没有差别)
所以可以通过下面命令为root用户配置密码
mysqladmin -u root password "你的密码"
也可以在进入MariaDB后,通过修改mysql表来配置密码
MariaDB [mysql]> update user set password=password("你的密码")where user='root';
我在写这篇博文前已经配置好我的MariaDB,但是我忘记密码,我这就叫贵人多忘事,这里顺便提一下MariaDB的root用户忘记密码的解决方法,该方法同样适用于MySQL
首先,你要确定服务器中数据库是安全的,没有人可以随意连接上这个数据库,因为在重置MariaDB的root密码时,MariaDB数据库完全处于没有密码保护状态,如果此时其他用户也可以随意访问数据库并修改数据库中的信息(此时任何人登录数据库都是不需要密码的)
确认环境是安全的,就修改etc目录下的my.cnf配置文件,在[mysqld]的段中添加上下面这句代码
skip-grant-tables
具体操作命令如下
vim /etc/my.cnf
配置mycnf.png
接着重启MariaDB
systemctl stop mariadb.service 停止mariadb服务systemctl start mariadb.service 再次开启mariadb服务,让修改的配置生效
然后通过下面命令直接登录MariaDB,不需要输入密码
mysql -u root
然后通过如下命令,为root用户修改密码
USE mysql ; UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ; flush privileges ; quit
效果如图
MariaDB配置密码.png
然后再次修改etc/my.cnf,将skip-grant-tables这行代码注释掉,重启一遍MariaDB服务,让MariaDB数据库再次被密码保护
进入MariaDB1.png