您的位置:首页 > 数据库 > MariaDB

CentOS7 使用yum安装MariaDB以及环境配置

2018-08-27 16:51 489 查看

从CentOS7开始,linux系统中默认暗转过的数据库变成了MariaDB,此数据库为MySQL的一个分支,使用起来跟MySQL并没有什么区别,而且功能比MySQL更全面一点,此文主要是通过yum安装。

直接正文
1. 查看系统是否有mariadb数据库

[root@localhost /]# rpm -qa | grep -i mariadb
mariadb-libs-5.5.35-3.el7.x86_64

无需卸载,不影响,安装时会覆盖。
2.yum安装,需要添加MariaDB的yum依赖仓库
需要新建一个MariaDB.repo文件

[root@localhost /]# vi /etc/yum.repos.d/MariaDB.repo

添加以下内容,然后wq退出保存。(vi的简单编辑应该都会)
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
3. 开始安装
这里我直接上命令

[root@localhost /]# yum install MariaDB-server MariaDB-client -y

这一步比较消耗时间,耐心等待

更新完毕:
centos-release.x86_64 0:7-5.1804.4.el7.centos      dracut.x86_64 0:033-535.el7_5.1      initscripts.x86_64 0:9.49.41-1.el7_5.1

作为依赖被升级:
dracut-config-rescue.x86_64 0:033-535.el7_5.1     dracut-network.x86_64 0:033-535.el7_5.1     glib2.x86_64 0:2.54.2-2.el7
kmod.x86_64 0:20-21.el7                           libgudev1.x86_64 0:219-57.el7_5.1           systemd.x86_64 0:219-57.el7_5.1
systemd-libs.x86_64 0:219-57.el7_5.1              systemd-sysv.x86_64 0:219-57.el7_5.1

替代:
mariadb-libs.x86_64 1:5.5.35-3.el7

完毕!

显示这样的信息,表示安装完毕,然后将其加入系统进程就可以。

[root@localhost /]# systemctl start mariadb

设置 MariaDB 在操作系统重启后自动启动服务。

[root@localhost /]# systemctl enable mariadb

查看 MariaDB 服务当前状态。

[root@localhost /]# systemctl status mariadb
● mariadb.service - MariaDB 10.2.17 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: active (running) since 一 2018-08-27 19:05:38 CST; 25s ago

systemctl status mariadb

4. MariaDB相关配置
首先进入安全配置模式

[root@localhost /]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

大体是第一次使用MariaDB之类的,不用管,回车开始设置
然后依次是如下五步,根据自己的规划设计。
a. 设置root账户的密码

Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

b. 删除匿名用户

Remove anonymous users? [Y/n] Y
... Success!

c. 禁用 root 远程登录

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
... Success!

这样只有本机可以连接该数据库,下面有说如何在开启远程连接该数据库
d. 删除测试数据库

Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

e. 重新加载权限表。

Reload privilege tables now? [Y/n] Y
... Success!

到这,简单的安全配置完成。现在可以登陆本机的Maria DB数据库
跟登陆MySQL一样的操作

[root@localhost /]# mysql -u root -p

输入你的上面设置的密码,登陆。
登陆进去后,我们可以来验证一下,此时的数据库都有那些账号/网址可以等里
输入下列命令,注意在数据库操作界面输入

MariaDB [(none)]> select User, host from mysql.user;
+------+-----------+
| User | host      |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1       |
| root | localhost |
+------+-----------+
3 rows in set (0.08 sec)

很明显,只有本地可以连接。
下面我们创建一个远程账户,并给此账户分配远程连接的权限

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '远程账户密码' WITH GRANT OPTION;

该命令设置了一个root账户,密码为“远程账户密码”的账户,你可以用该账户通过远程工具,比如Navicat来对数据库进行连接。其中的%表示允许任何ip地址对数据库进行远程连接,你也可以对其进行限制,比如‘192.168.25.%’就表示只允许这个网段的ip远程连接该数据库。
最后一步,刷新权限,使改动生效。

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

5. MariaDB相关字符集编码配置

1.设置数据库字母大小写不敏感

[root@localhost /]# vi /etc/my.cnf.d/server.cnf

进去后找到mysqld
在[mysqld]下加上】
lower_case_table_names=1
默认是等于0的,即大小写敏感。1代表不敏感
2.设置MariaDB数据库默认编码
首先进入数据库查看现在的字符集

MariaDB [(none)]> SHOW VARIABLES LIKE 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

可以看到有的编码集为latin1,这样的话插入中文会乱码,因此需要将编码改为utf8。
做法:修改的配置文件
vi /etc/my.cnf.d/server.cnf
在[mysqld]字段里加入
character-set-server=utf8
重启 MariaDB 配置生效。
systemctl restart mariadb

补充:关于远程连接时,可能涉及的防火墙问题
关闭防火墙:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
开放防火墙的指定端口(开启后要重启防火墙)
firewall-cmd –zone=public –add-port=3306/tcp –permanent
firewall-cmd –reload

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: