mariadb其实就是mysql
mysql已经被oracle收购,它即将闭源,马上要开始收费了
因此还想免费试用开源的数据库mysql,就在centos7上,将mysql分支为mariadb

第一步:添加 MariaDB yum 仓库


1、首先在 RHEL/CentOS 和 Fedora 操作系统中添加 MariaDB 的 YUM 配置文件 MariaDB.repo 文件。

#编辑创建mariadb.repo仓库文件
vi /etc/yum.repos.d/MariaDB.repo

2、添加repo仓库配置
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

安装mariadb,在centos7底下:
linux软件包的格式 mysql.rpm 1.通过yum去安装
1.linux的yum软件管理目录在 /etc/yum.repos.d
2.在这个目录底下,主要是*.repo这个文件,就会被识别为yum源文件 第一种方式是,通过阿里云的yum源去下载(第三方的yum源,可能会版本较低,且软件不全,可能找不到)
CentOS-Base.repo epel.repo yum install mariadb-server #yum安装mariadb 因为这个阿里云特别快,咱们用他去学习,加速下载 300kb/s mariadb-server x86_64 1:5.5.60-1.el7_5 base 11 M
为依赖而安装:
mariadb x86_64 1:5.5.60-1.el7_5 base 8.9 M
perl-DBD-MySQL x86_64 4.023-6.el7 base 140 k
为依赖而更新:
mariadb-libs x86_64 1:5.5.60-1.el7_5 base 758 k 第二种方式是,通过mariadb官方的yum源去下载(一定是这个软件最正确的yum源,且包都是最新的)
1.下载一个第三方的软件,顺序就是去官网找到这个软件的下载方式 yum install MariaDB-server MariaDB-client #区分大小写 ,这个方式是取国外下载mariadb,速度太慢 30kb/s 依赖关系解决 =====================================================================================================================================
Package 架构 版本 源 大小
=====================================================================================================================================
正在安装:
MariaDB-client x86_64 10.1.37-1.el7.centos mariadb 40 M
MariaDB-server x86_64 10.1.37-1.el7.centos mariadb 104 M
MariaDB-shared x86_64 10.1.37-1.el7.centos mariadb 1.3 M
替换 mariadb-libs.x86_64 1:5.5.56-2.el7
为依赖而安装:
MariaDB-common x86_64 10.1.37-1.el7.centos mariadb 123 k
boost-program-options x86_64 1.53.0-27.el7 base 156 k
galera x86_64 25.3.24-1.rhel7.el7.centos mariadb 8.1 M 1.下载mariadb,通过阿里云的源
yum install mariadb-server 2.通过yum安装的软件,systemctl start/stop/restart/status mariadb systemctl start mariadb #启动mariadb数据库 3.初始化mariadb
mysql_secure_installation
#直接输入这个命令,设置root密码,删除匿名用户等等操作 4.配置myariadb远程登录,可以通过windows,pycharm等客户端进行连接,在远端登录的话,就必须得输入redhat这个密码
grant all privileges on *.* to root@'%' identified by ''; 授予 所有的 权限 在 所有的库.所有的表 用户名@"所有的地址" identified by "密码"; 5.刷新授权表,使得权限立即生效
flush privileges; 6.更改mysql的密码
set password = PASSWORD(''); 7.创建普通用户wzy
create user wzy@'%' identified by ''; 8.查询用户信息
select host,user,password from user; 9.授权语句
grant 权限 on 数据库.表名 to 账户@主机名 对特定数据库中的特定表授权
grant 权限 on 数据库.* to 账户@主机名   对特定数据库中的所有表给与授权
grant 权限1,权限2,权限3 on *.* to 账户@主机名    对所有库中的所有表给与多个授权
grant all privileges on *.* to 账户@主机名    对所有库和所有表授权所有权限
grant create,select,insert on *.* to root@'%' identified by "密码" 10.数据库的中文设置
1.查看数据库编码
\s
2.修改mysql的配置文件 /etc/my.cnf ,加入以下信息 [mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
log-error=/var/log/mysqld.log
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8 3.修改了配置文件,重启服务
systemctl restart mariadb 4.查看数据库创建的编码,只有在更新了数据库编码之后,创建的数据库,才会使用这个编码
show create database s; 5.可以测试创建table,写入中文数据 11.mysql的数据备份
1.通过命令导出全部数据
mysqldump -u root -p --all-databases > /data/db.dump
2.mysql的数据文件都放在/var/lib/mysql/* 中,所有的db信息,以及账号密码信息
rm -rf /var/lib/mysql/* #清空mariadb所有数据 3.导入数据库的db文件,在mysql命令行中输入这个命令
source /opt/db.dump 4.第二种方式导入数据,通过mysql命令
mysql -uroot -p < /opt/db.dump
############################################################

mysql主从复制的步骤:

环境准备:
准备两台服务器,安装两个mariadb 主库是:192.168.12.96 mater
从库是:192.168.12.87 slave 主库的操作如下:
1.开启binlog功能,修改/etc/my.cnf
vim /etc/my.cnf #写入 [mysqld]
server-id=1 #指明主库的身份id为1
log-bin=mysqls14-bin #指明binlog的日志名 2.修改了配置文件,重启mariadb,使得binlog生效
systemctl restart mariadb 3.登录mysql,检查主库的状态
show master status; 4.创建一个用户,用于进行主从同步
create user 'wzy'@'%' identified by ''; 5.授予账号权限,授予一个从库的身份权限
grant replication slave on *.* to 'wzy'@'%'; 6.锁定mysql的表,防止数据写入
flush table with read lock; 7.主从同步,将从库与主库的数据,保持一致后,它俩都在同一个起跑线,然后解除锁表,一同写入数据,保证数据一致性
1.导出当前的数据,用于slave机器导入数据,保证在一个起始点
mysqldump -u root -p --all-databases > /data/db.dump
2.将此db.dump文件远程传输给 slave机器,用于导入
scp /data/db.dump root@192.168.12.87:/tmp/
3.登录slave从库,导入主库的数据信息
mysql > source /tmp/db.dump
4.查看主库和从库的信息,是否一致 8.查看主库的状态信息,binlog信息
show master status; 9.解锁表,开始主从同步
unlock tables; 从库的设置: 1.在/etc/my.cnf当中打开server-id
vim /etc/my.cnf 2.重启myariadb 3.查看slave机器的身份信息
show variables like 'server_id';
show variables like 'log_bin'; 4.通过命令,开启主从同步技术
change master to master_host='192.168.12.96',
master_user='wzy',
master_password='',
master_log_file='mysqls14-bin.000001',
master_log_pos=671; 5.开启slave
start slave; 6.检查slave状态,how slave status\G;
检查两条参数,如果都是yes,即主从ok
Slave_IO_Running: Yes
Slave_SQL_Running: Yes 7.此时可以在主库中写入数据,查看从库中是否生成了记录 主库:插入数据 从库:检查数据

mariadb的安装与主从复制的更多相关文章

  1. mariadb的安装

    mysql (分支 mariadb)1.安装mariadb -yum -源码编译安装 -下载rpm安装 yum和源码编译安装的区别? 1.路径区别-yum安装的软件是他自定义的,源码安装的软件./co ...

  2. MariaDB的安装与启动

    MariaDB的安装与启动 1.安装前需要删除系统已存在的mysql及mariadb [root@vm172--- ~]# rpm -qa|grep mysql [root@vm172--- ~]# ...

  3. linux中mariadb的安装

    在Linux中mariaDB的安装 MariaDB其实就是MySQL的分支,是为了应对MySQL的即将的闭源风险所产生的. Linux系统中软件包的格式为mysql.rpm格式. 通过yum去安装 L ...

  4. mariaDB的安装 apache的安装

    1.mariaDB的安装: 下载安装包: wget -c https://downloads.mariadb.com/MariaDB/mariadb-10.3.6/bintar-linux-glibc ...

  5. centOS7中Mariadb数据库安装与基本管理

    一.Mariadb数据库安装 1. 直接yum源安装 yum -y install mariadb mariadb-serversystemctl start mariadb /启动Mariadb服务 ...

  6. MySQL 5.7.18的安装及主从复制(主从同步)

    MySQL 5.7.18的安装与主从复制 IP 计算机名 角色 192.168.1.222 001 master 192.168.1.233 002 slave CentOS 6.9安装mysql5. ...

  7. Window7 环境下 MariaDB 的安装 及使用

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方 ...

  8. mariadb新安装解决远程访问以及root登录

    mariadb新安装解决远程访问以及root登录一.修改/etc/mysql/my.conf找到bind-address = 127.0.0.1这一行直接#掉或者改为bind-address = 0. ...

  9. linux之mariadb的安装

    1.概述 mysql为关系型数据库. mysql的分支-- mysql (自己本身) -- 2008前后的被SUN收购 SUN之后又被oracle收购 系统集成--什么都干(- 套解决方案) mari ...

随机推荐

  1. Spring中基于AOP的@AspectJ

    以下内容引用自http://wiki.jikexueyuan.com/project/spring/aop-with-spring-framenwork/aspectj-based-aop-with- ...

  2. Excel小tips - 如何实现多列成绩统一排名

    本文参考:http://mp.weixin.qq.com/s/XR49hyG9Cods7rOcsM-tRg 如果有以下数据文件,需要进行成绩排名. 第一步:先在成绩列后边添加一列,用来显示名次.如下: ...

  3. 《javascript设计模式》读书笔记二(封装和隐藏信息)

    1.为什么要封装和信息隐藏 做过编程的朋友们知道"耦合"这个词.事实上封装的效果就是为了解耦,让类和类之间没有太多的联系,防止某一天改动某一类的时候,产生"多米骨诺牌效应 ...

  4. Use Local Or Global Index?

    常常我们须要将大表依据分区键进行分区,当建立索引的时候.我们究竟使用local 还是global 索引呢 先看看两种索引的特点: 本地索引特点: 1. 本地索引一定是分区索引.分区键等同于表的分区键. ...

  5. 反射学习总结 --为理解SpringMVC底层做准备

    反射是什么? 通俗理解 - 照X光. java:一个类在反射面前就像照X光,清清楚楚明明白白. 应用:我们的ide中,能够"."一下就知道类中的所有方法就是通过反射实现的. XML ...

  6. eclipse中经常使用快捷键

    熟练一些快捷键,会使你的开发更加快捷.高效,值得花些时间学一下! 1. ctrl+shift+r:打开资源 这可能是全部快捷键组合中最省时间的了.这组快捷键能够让你打开你的工作区中不论什么一个文件,而 ...

  7. hdu 1251 统计

    他妹的.敲完了.电脑死机了,所有消失了,又从新打了一遍,... 这是什么节奏 #include <stdio.h> #include <string.h> #include & ...

  8. form标签中id和name属性的区别

    HTML元素的ID和Name属性的区别 一直认为ID和NAME是一样的,两个又可以一起出现,甚是疑惑. 今天BAIDU了一下,才发现里面大有文章.发出来研究研究: 最classical的答案:ID就像 ...

  9. C 编程中fseek、ftell的用法总结

    fseek 函数功能是将文件指针移动到指定的地方,因此可以通过fseek重置文件指针的位置.函数原型: int  fseek(FILE *stream, long offset,  int origi ...

  10. Linux 对比 Windows 缺点

      SELinux_百度百科 https://baike.baidu.com/item/SELinux/8865268?fr=aladdin   虽然Linux比起 Windows来说,它的可靠性,稳 ...