MariaDB 数据库管理系统是 MysqL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MysqL 后,有将 MysqL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB完全兼容MysqL,使用方法也是一样的
查看Centos版本
[root@featherwit home]# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core)
并且有的centos7已经默认安装了Mariadb,可以查看自己的有没有安装,没有安装的再进行安装,已经安装了可以不用安装也可以卸载了重装。卸载命令 yum remove mariadb-server
安装MariaDB
通过yum安装就行了。简单快捷,安装mariadb-server,默认依赖安装mariadb,一个是服务端、一个是客户端。
[root@featherwit home]# yum install mariadb-server
配置MariaDB
1. 安装完成后首先要把MariaDB服务开启,并设置为开机启动
[root@featherwit home]# systemctl start mariadb # 开启服务 [root@featherwit home]# systemctl enable mariadb # 设置为开机自启动服务
2. 首次安装需要进行数据库的配置,命令都和MysqL的一样
[root@featherwit home]# MysqL_secure_installation
3. 配置时出现的各个选项
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。或者重启服务也许
4. 测试是否能够登录成功,出现 MariaDB [(none)]> 就表示已经能够正常登录使用MariaDB数据库了
[root@featherwit ~]# MysqL -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 5 Server version: 5.5.65-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)]>
设置MariaDB字符集为utf-8
1. /etc/my.cnf 文件
init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake
2. /etc/my.cnf.d/client.cnf 文件
default-character-set=utf8
3. /etc/my.cnf.d/MysqL-clients.cnf 文件
default-character-set=utf8
4. 重启服务
[root@featherwit ~]# systemctl restart mariadb
5. 进入mariadb查看字符集
MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
远程链接mariadb数据库
1. mariadb默认是拒绝 root 远程登录的。这里用的是 navicat 软件连接数据库
a. 关闭防火墙
[root@featherwit ~]# systemctl stop firewalld
b. 在不关闭防火墙的情况下,允许某端口的外来链接。步骤如下,开启3306端口,重启防火墙
[root@featherwit ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启 no [root@featherwit ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开启3306端口 success [root@featherwit ~]# firewall-cmd --reload # 重启防火墙 success [root@featherwit ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启 yes
[root@featherwit ~]# MysqL -u root -p # 先通过本地链接进入数据库 MariaDB [(none)]> use MysqL; MariaDB [MysqL]> select host, user from user; +-----------+------+ | host | user | +-----------+------+ | 127.0.0.1 | root | | ::1 | root | | localhost | root | +-----------+------+ 3 rows in set (0.00 sec)
3. 将与主机名相等的字段改为 "%" ,我的主机名为localhost,
MariaDB [MysqL]> update user set host='%' where host='mini'; 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 | | localhost | root | +-----------+------+ 3 rows in set (0.00 sec)
4. 刷新权限表,或重启mariadb服务,以下二选一即可
MariaDB [MysqL]> flush privileges; Query OK, 0 rows affected (0.00 sec)
[root@featherwit ~]# systemctl restart mariadb
安全组规则设置
登录阿里云--进入控制台--安全组--配置规则(默认有一条规则,直接在上面追加一条即可,也可以自己新增一条)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。