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

    1. yum install mariadb-server

    配置MariaDB

    1. systemctl start mariadb # 开启服务
    2. systemctl enable mariadb # 设置为开机自启动服务

    初始化配置

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

    进入

    1. mysql -u root -p

    设置MariaDB字符集为utf-8
    vim /etc/my.cnf

    1. #在 [mysqld] 标签下添加
    2. init_connect='SET collation_connection = utf8_unicode_ci'
    3. init_connect='SET NAMES utf8'
    4. character-set-server=utf8
    5. collation-server=utf8_unicode_ci
    6. skip-character-set-client-handshake

    vim /etc/my.cnf.d/client.cnf

    1. #在 [client] 标签下添加
    2. default-character-set=utf8

    vim /etc/my.cnf.d/mysql-clients.cnf

    1. #在 [mysql] 标签下添加
    2. default-character-set=utf8

    重启服务

    1. systemctl restart mariadb

    远程链接mariadb数据库
    关闭防火墙

    1. systemctl stop firewalld
    2. 在不关闭防火墙的情况下,允许某端口的外来链接。步骤如下,开启3306端口,重启防火墙
    3. firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启
    4. firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开启3306端口
    5. firewall-cmd --reload # 重启防火墙
    6. firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启

    查看mysql数据库中的user表

    1. mysql -u root -p # 先通过本地链接进入数据库
    2. MariaDB [(none)]> use mysql;
    3. MariaDB [mysql]> select host, user from user;

    将与主机名相等的字段改为 “%”

    1. update user set host='%' where host='::1';
    2. MariaDB [mysql]> select host, user from user;

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

    1. MariaDB [mysql]> flush privileges;
    2. systemctl restart mariadb