CentOS 7.x安装 MariaDB
MySQL的创始人麦克尔·维德纽斯主导开发,早前曾以10亿美元的价格,将自己创建的公司MySQL卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可,MariaDB的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。
这意味着,所有使用MySQL的连接器、程序库和应用程序也将可以在MariaDB下工作。
Mysql 和 Mariadb 简单的版本兼容、对应关系:
Mariadb | Mysql |
---|---|
10.4~10.5 | 8.0 |
10.2~10.3 | 5.7 |
10.0~10.1 | 5.6 |
5.5 | 5.5 |
5.1~5.3 | 5.1 |
对应关系比较重要,不然可能出现一些问题。比如sql语句的datetime类型使用错误会建表失败,比如在Web项目中使用mysql的jdbc.driver连接,pom.xml里要选择合适的版本,否则会jdbc连接失败等等。
新建repo源
执行yum update
命令进行更新
repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用
进入/etc/yum.repos.d
目录下,使用vim
命令编辑文件,新建Mariadb repo源
cd /etc/yum.repos.d
vim Mariadb.repo
在 Mariadb.repo下添加镜像地址,为了下载速度快些,这里使用了腾讯云镜像
按 i
键 进入输入模式,将下方内容复制到文件中,按 Esc
键 返回命令模式,按 :
键 进入末行模式下,输入 wq保存并退出
# MariaDB 10.5 CentOS repository list - created 2023-01-19 06:12 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = http://mirrors.tencent.com/mariadb/yum/10.5/centos7-amd64
gpgkey = http://mirrors.tencent.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
安装并配置Mariadb
安装Mariadb服务
yum -y install mariadb-server
启动MariaDB服务并设置为开机自启
systemctl start mariadb
systemctl enable mariadb
连接数据库,让输入密码时敲回车就行,一开始没密码
mysql -u root -p
如果出现Mariadb的命令行,说明数据库连接成功
设置密码
进入mysql数据库
use mysql;
设置root用户数据库密码,设置成功后,需要执行flush privileges;
命令刷新权限
如果Mariadb的版本在10.4.4之前,可以使用如下命令设置密码:
UPDATE mysql.user SET password = PASSWORD('你要设置的密码') WHERE user = 'root';
如:
UPDATE mysql.user SET password = PASSWORD('bobo@123456') WHERE user = 'root';
如果Mariadb的版本在10.4.4以上,可以使用如下命令重置密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你要设置的密码';
如:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'bobo@123456';
flush privileges;
exit;
执行exit;
命令退出后,执行mysql -u root -p
命令,输入设置的root账号密码,若数据库连接成功,则说明密码设置成功
开启远程连接
新增bobo用户,并赋予bobo用户开启远程连接权限
create user '用户名'@'IP地址' identified by '密码';
如:
create user 'bobo'@'%' identified by 'bo@123456';
GRANT ALL PRIVILEGES ON *.* TO 'bobo'@'%'IDENTIFIED BY 'bo@123456' WITH GRANT OPTION;
flush privileges;
执行flush privileges;
命令刷新权限后,可通过Navicat等数据库连接软件进行测试,若连接成功,则说明bobo用户成功开启远程连接权限
开启3306端口号,重启防火墙
开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
firewall-cmd --reload
检验端口开启是否成功
firewall-cmd --zone=public --query-port=3306/tcp