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;
配置权限后,可以使用远程客户端连接数据库服务了!
共有 0 条评论