CentOs 7 安装 MariaDB 10

内容纲要

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连接失败等等。

一 yum安装

1 新建repo源

cd /etc/yum.repos.d
vim Mariadb.repo

在 Mariadb.repo下添加镜像地址,为了下载速度快些,这里使用了阿里云镜像

[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.4/centos7-amd64
gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

2 安装Mariadb

yum install MariaDB-server

启动MariaDB服务并设置为开机自启

systemctl start mariadb
systemctl enable mariadb

使用MariaDB安全配置向导

mysql_secure_installation 或者 mariadb-secure-installation

配置时出现的各个选项

Enter current password for root (enter for none): # (输入数据库root密码,第一次进入还没有设置密码则直接回车)
Switch to unix_socket authentication [Y/n]: # n (不使用unix_socket)
Set root password? [Y/n]: # y(root用户设置密码)
New password: # (新密码)
Re-enter new password: # (再次输入密码)
Remove anonymous users? [Y/n]: # y (移除匿名用户) 
Disallow root login remotely? [Y/n]:# y (拒绝root远程登录,不管y/n,都会拒绝root远程登录)
Remove test database and access to it? [Y/n]: # y (删除test数据库)
Reload privilege tables now? [Y/n]: # y (重新加载权限表。或者重启服务也许)

3 登录MariaDB

mysql -u root -p
Enter password:

① 修改MariaDB默认编码
MariaDB的默认编码是latin1,插入中文会乱码,需要将编码改为utf8。首先查看当前字符集编码。

MariaDB [(none)]> show variables where variable_name  like "%character%" or variable_name like "%collation%";
  • 编辑文件/etc/my.cnf, 在[mysqld]与[mysqld_safe]标签下添加内容:
vim /etc/my.cnf

[mysqld]
init_connect = 'SET collation_connection = utf8_general_ci'
init_connect = 'SET NAMES utf8'
character_set_server = utf8
collation_server = utf8_general_ci
skip-character-set-client-handshake
[mysqld_safe]
init_connect = 'SET collation_connection = utf8_general_ci'
init_connect = 'SET NAMES utf8'
character_set_server = utf8
collation_server = utf8_general_ci
skip-character-set-client-handshake
  • 编辑文件/etc/my.cnf.d/client.cnf, 在[client]标签下添加内容:
vim /etc/my.cnf.d/client.cnf

[client]
default-character-set=utf8
  • 编辑文件/etc/my.cnf.d/mysql-clients.cnf, 在[mysql]标签下添加内容:
vim /etc/my.cnf.d/mysql-clients.cnf

[mysql]
default-character-set=utf8

二 手动安装

1-9 CentOS7安装MariaDB 10.4.x

CentOS7安装MariaDB 10.4.x

1.下载安装包

2.按顺序安装依赖环境包

yum install rsync nmap lsof perl-DBI nc

rpm -ivh jemalloc-3.6.0-1.el7.x86_64.rpm

rpm -ivh jemalloc-devel-3.6.0-1.el7.x86_64.rpm

3.卸载冲突的mariadb-libs

  • 先搜索∶
rpm -qa | grep mariadb-libs
  • 后删除∶
rpm -ev --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
  • 4.安装boost-devel依赖环境]
yum install boost-devel.x86_64
  • 5.导入MariaDB的key
rpm --import http://yum.mariadb.org/RPM-GPG-KEY一MariaDB
  • 6.安装galera环境
rpm -ivh galera-4-26.4.2-1.rhel7.el7.centos.x86_64.rpm
  • 7.安装libaio(此步骤在安装10.4.8的时候需要)
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
  • 8.安装MariaDB的4个核心包
rpm -ivh
MariaDB-common-10.4.7-1.el7.centos.x86_64.rpm
MariaDB-compat-10.4.7-1.el7.centos.x86_64.rpm
MariaDB-client-10.4.7-1.el7.centos.x86_64.rpm
MariaDB-server-10.4.7-1.el7.centos.x86_64.rpm

安装完毕MariaDB后还没完,还需要配置数据库,在命令行中执行如下代码用以启动mysql服务
(MariaDB就是mysql的分支,所以服务名是一样的,如果本地有mysql可以无缝切换或安装)

service mysql start

启动成功后运行如下命令进行安全配置︰

mysql_secure_installation

1.输入当前密码,初次安装后是没有密码的,直接回车
2.询间是否使用unix_socket进行身份验证: n
3.为root设置密码: y
4.输入root的新密码: root
5.确认输入root的新密码: root
6.是否移除匿名用户,这个随意,建议删除:y
7.拒绝用户远程登录,这个建议开启:n
8.删除test库,可以保留:n
9.重新加载权限表: y

当你看到Thanks for using MariaDB!这句话,表明配置成功!

但是!还没完,这个时候我不能远程连接,要想远程连接还需要额外的配置,进入MariaDB的控制台:

  • 输入密码
mysql -u root -p
  • 赋予root用户远程连接权限
grant all privileges on *.* to 'root'@'%' identified by 'root密码';
flush privileges;

配置权限后,可以使用远程客户端连接数据库服务了!

THE END
分享
二维码
< <上一篇
下一篇>>