一.关于MariaDB

MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB完全兼容mysql,使用方法也是一样的

二.部署MariaDB

1、安装MariaDB

通过yum安装简单快捷,安装mariadb-server,默认依赖安装mariadb,一个是服务端、一个是客户端。

[root@CentOS ~]# yum install mariadb-server

2、配置MariaDB

1)安装完成后首先要把MariaDB服务开启,并设置为开机启动

[root@CentOS ~]# systemctl start mariadb   # 开启服务
[root@CentOS ~]# systemctl enable mariadb  # 设置为开机自启动服务

2)首次安装需要进行数据库的配置,命令都和mysql的一样

[root@CentOS ~]# mysql_secure_installation
Enter current password for root (enter for none):  
# 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码
Set root password? [Y/n]  
# 设置密码,y
New password:
# 新密码
Re-enter new password:
# 再次输入密码
Remove anonymous users? [Y/n] 
# 移除匿名用户, y
Disallow root login remotely? [Y/n]  
# 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录
Remove test database and access to it? [Y/n]  
# 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要
Reload privilege tables now? [Y/n]  
# 重新加载权限表,y。或者重启服务也许

3)测试是否能够登录成功,出现 MariaDB [(none)]> 表示能够正常登录使用MariaDB数据库

[root@CentOS ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

3、远程链接mariadb数据库

mariadb默认是拒绝 root 远程登录的。这里用的是 navicat 软件连接数据库
1)防火墙设置
① 关闭防火墙 systemctl stop firewalld

[root@CentOS ~]# systemctl stop firewalld

②在不关闭防火墙的情况下,允许某端口的外来链接。步骤如下,开启3306端口,重启防火墙

[root@CentOS ~]# firewall-cmd --query-port=3306/tcp  # 查看3306端口是否开启
no
[root@CentOS ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent  # 开启3306端口
success
[root@CentOS ~]# firewall-cmd --reload  # 重启防火墙
success
[root@CentOS ~]# firewall-cmd --query-port=3306/tcp  # 查看3306端口是否开启
yes

2)数据库设置

[root@CentOS ~]# mysql -u root -p  # 先通过本地链接进入数据库

MariaDB [(none)]> use mysql;

MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| 127.0.0.1 | root |
| ::1       | root |
| centos    | root |
| localhost | root |
+-----------+------+
4 rows in set (0.00 sec)

将与主机名相等的字段改为 "%" ,我的主机名为centos,

MariaDB [mysql]> update user set host='%' where host='centos';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| %         | root |
| 127.0.0.1 | root |
| ::1       | root |
| localhost | root |
+-----------+------+
4 rows in set (0.00 sec)

刷新权限表,或重启mariadb服务,一下二选一即可

MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
[root@CentOS ~]# systemctl restart mariadb

注意:刷新权限表是在数据库中,重启服务是在外部命令行中

最后修改:2023 年 03 月 19 日
如果觉得我的文章对你有用,请随意赞赏