ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MariaDB数据库管理系统,是完全兼容MySQL

2020-08-16 14:32:59  阅读:267  来源: 互联网

标签:MariaDB x86 mysql 兼容 64 MySQL mariadb el7


CentOS 6 或早期的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

Linux下安装MariaDB官方文档参见:https://mariadb.com/kb/zh-cn/installing-mariadb-with-yum/

全部删除MySQL/MariaDB

MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;

1.使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:

如果存在,使用rpm -e --nodeps mariadb-*全部删除:

[root@localhost ~]# rpm -qa | grep mariadb
mariadb-server-5.5.52-1.el7.x86_64
mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost ~]# rpm -e mysql-*
错误:未安装软件包 mysql-* 

 

2.使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:

如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql51全部删除;

复制代码 复制代码
[root@localhost ~]# yum remove mysql mysql-server mysql-libs compat-mysql51
已加载插件:fastestmirror, langpacks
参数 mysql 没有匹配
参数 mysql-server 没有匹配
参数 compat-mysql51 没有匹配
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb-libs.x86_64.1.5.5.52-1.el7 将被 删除
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 perl-DBD-MySQL-4.023-5.el7.x86_64 需要
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 2:postfix-2.10.1-6.el7.x86_64 需要
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 1:qt-mysql-4.8.5-13.el7.x86_64 需要..........
复制代码 复制代码 复制代码 复制代码
删除:
  mariadb-libs.x86_64 1:5.5.52-1.el7                                            

作为依赖被删除:
  akonadi-mysql.x86_64 0:1.9.2-4.el7     mariadb-server.x86_64 1:5.5.52-1.el7   
  perl-DBD-MySQL.x86_64 0:4.023-5.el7    postfix.x86_64 2:2.10.1-6.el7          
  qt-mysql.x86_64 1:4.8.5-13.el7        

完毕!
[root@localhost ~]# rpm -qa|grep mariadb
[root@localhost ~]#
复制代码 复制代码

3.开始新的安装, 创建MariaDB.repo文件

vi /etc/yum.repos.d/MariaDB.repo

插入以下内容:

复制代码 复制代码
# MariaDB 10.2.4 CentOS repository list - created 2017-05-05 16:13 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
复制代码 复制代码

系统及版本选择:https://downloads.mariadb.org/mariadb/repositories/#mirror=tuna

4.运行安装命令安装MariaDB

复制代码 复制代码
[root@localhost ~]# yum -y install MariaDB-server MariaDB-client
已加载插件:fastestmirror, langpacks
mariadb                                                  | 2.9 kB     00:00     
mariadb/primary_db                                         |  18 kB   00:09     
Determining fastest mirrors
 * base: mirrors.btte.net
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.zju.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 MariaDB-client.x86_64.0.10.2.4-1.el7.centos 将被 安装
--> 正在处理依赖关系 MariaDB-common,它被软件包 MariaDB-client-10.2.4-1.el7.centos.x86_64 需要
---> 软件包 MariaDB-server.x86_64.0.10.2.4-1.el7.centos 将被 安装
--> 正在处理依赖关系 galera,它被软件包 MariaDB-server-10.2.4-1.el7.centos.x86_64 需要
--> 正在处理依赖关系 libjemalloc.so.1()(64bit),它被软件包 MariaDB-server-10.2.4-1.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 MariaDB-common.x86_64.0.10.2.4-1.el7.centos 将被 安装
--> 正在处理依赖关系 MariaDB-compat,它被软件包 MariaDB-common-10.2.4-1.el7.centos.x86_64 需要
---> 软件包 galera.x86_64.0.25.3.19-1.rhel7.el7.centos 将被 安装
---> 软件包 jemalloc.x86_64.0.3.6.0-1.el7 将被 安装
--> 正在检查事务
---> 软件包 MariaDB-compat.x86_64.0.10.2.4-1.el7.centos 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package            架构       版本                           源           大小
================================================================================
正在安装:
 MariaDB-client     x86_64     10.2.4-1.el7.centos            mariadb      48 M
 MariaDB-server     x86_64     10.2.4-1.el7.centos            mariadb     113 M
为依赖而安装:
 MariaDB-common     x86_64     10.2.4-1.el7.centos            mariadb     104 k
 MariaDB-compat     x86_64     10.2.4-1.el7.centos            mariadb     2.8 M
 galera             x86_64     25.3.19-1.rhel7.el7.centos     mariadb     8.0 M
 jemalloc           x86_64     3.6.0-1.el7                    mariadb     104 k

事务概要
================================================================================
安装  2 软件包 (+4 依赖软件包)
....
复制代码 复制代码

 

首先下载安装包,然后进行自动安装,安装成功之后启动MariaDB服务。

systemctl start mariadb #启动服务
systemctl enable mariadb #设置开机启动
systemctl restart mariadb #重新启动
systemctl stop mariadb.service #停止MariaDB

5.登录到数据库

  用mysql -uroot命令登录到MariaDB,此时root账户的密码为空。

6.进行MariaDB的相关简单配置,使用mysql_secure_installation命令进行配置。

mysql_secure_installation

 

 首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

设置密码

Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码

其他配置

Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,

Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

初始化MariaDB完成,接下来测试登录

mysql -uroot -ppassword

完成。

 7.配置MariaDB的字符集

  查看/etc/my.cnf文件内容,其中包含一句!includedir /etc/my.cnf.d 说明在该配置文件中引入/etc/my.cnf.d 目录下的配置文件。

1)使用vi server.cnf命令编辑server.cnf文件,在[mysqld]标签下添加

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

 

  如果/etc/my.cnf.d 目录下无server.cnf文件,则直接在/etc/my.cnf文件的[mysqld]标签下添加以上内容。

2)文件/etc/my.cnf.d/client.cnf

vi /etc/my.cnf.d/client.cnf

在[client]中添加

default-character-set=utf8

3)文件/etc/my.cnf.d/mysql-clients.cnf

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

在[mysql]中添加

default-character-set=utf8

 全部配置完成,重启mariadb

systemctl restart mariadb

之后进入MariaDB查看字符集

mysql> show variables like "%character%";show variables like "%collation%";

显示为

 

复制代码 复制代码
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client    | utf8                      |
| character_set_connection | utf8                      |
| character_set_database  | utf8                      |
| character_set_filesystem | binary                    |
| character_set_results    | utf8                      |
| character_set_server    | utf8                      |
| character_set_system    | utf8                      |
| character_sets_dir      | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

+----------------------+-----------------+
| Variable_name        | Value          |
+----------------------+-----------------+
| collation_connection | utf8_unicode_ci |
| collation_database  | utf8_unicode_ci |
| collation_server    | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
复制代码 复制代码

字符集配置完成。

8. 添加用户,设置权限

创建用户命令

mysql>create user username@localhost identified by 'password';

直接创建用户并授权的命令

mysql>grant all on *.* to username@localhost indentified by 'password';

授予外网登陆权限 

mysql>grant all privileges on *.* to username@'%' identified by 'password';

授予权限并且可以授权

mysql>grant all privileges on *.* to username@'hostname' identified by 'password' with grant option;
复制代码 复制代码
MariaDB [mysql]> select host,user,password from user;
+-----------------------+-------+------------------------+
| host                  | user  | password               |
+-----------------------+-------+------------------------+
| localhost             | root  | *E87F9354F7E889A65E... |
| localhost.localdomain | root  | *E87F9354F7E889A65E... |
| 127.0.0.1             | root  | *E87F9354F7E889A65E... |
| ::1                   | root  | *E87F9354F7E889A65E... |
| localhost             |       |                        |
| localhost.localdomain |       |                        |
+-----------------------+-------+------------------------+
7 rows in set (0.00 sec)
复制代码 复制代码

 

简单的用户和权限配置基本就这样了。

标签:MariaDB,x86,mysql,兼容,64,MySQL,mariadb,el7
来源: https://www.cnblogs.com/wenuy/p/13512460.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有