MariaDB简介:

  MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

  MariaDB基于事务的Maria存储引擎,替换了MySQLMyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎

安装参考如下链接:

https://www.cnblogs.com/zhanzhan/p/7729981.html

虚拟机IP信息:

主库(写库):192.168.147.200

从库(读库):192.168.147.201

这里我使用的是一主一从的模式。两台虚拟机上都安装好mariadb后就可以进行主从复制操作。

主库:

  登录mariadb后创建test数据库并创建一张user表,接着插入几条数据,命令如下:

>mysql -uroot -p

Enter password:

>create database test;

>show databases;

>use test;

>create table user(id int(11),name varchar(255));

>show tables;

>insert into user values(1,"xiaoming");

>insert into user values(2,"xiaowang");

>select * from user;

退出mariadb控制台,在shell中使用如下命令将主库的数据导出并导入到从库数据库中:

>mysqldump -uroot -p --opt --all-databases >/mydata.sql

Enter password:

>scp -r /mydata.sql root@192.168.147.201:/

root@192.168.147.201's password:

输入从库服务器密码后复制主库旧数据成功。

从库:

mysql -u root -p  </mydata.sql

Enter password:

输入从库mariadb的密码后导入成功(可以进数据库查看)。

 主库:

>vi /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=
server_id=#主机的标识
log-bin=mysql-bin#确保可写入的日志文件
binlog_format=mixed#二进制日志的格式,
binlog-do-db=test#允许主从复制数据库
binlog-ignore-db=mysql#不允许主从复制的数据库

切记是在[mysqld]下配置要复制的数据库和binlog相关信息,保存退出后进行从库授权

>grant replication slave on *.* to slave@'192.168.147.201' identified by '123456';

重启主库mariadb:

>systemctl restart mariadb;

从库:

>vi /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=
server_id=#从机的标识
log-bin=mysql-bin#确保可写入的日志文件
binlog_format=mixed#二进制日志的格式,
replicate_wild_do_table=test.%#要同步的数据库
replicate_wild_ignore_table=mysql.%#不允许主从复制的数据库

切记是在[mysqld]下进行binlog和要复制的数据库配置,保存后退出。

重启从库mariadb:

> systemctl restart mariadb;

主库:

>mysql -uroot -p

Enter password:

> show master status;

上面的信息将在从库中用到。

从库:

>mysql -uroot -p

Enter password:

>change master to master_host='192.168.147.200',master_user='slave',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=245;

>start slave;

>show slave status\G

若看到2个红色箭头都是yes,则主从同步成功。

接下来我们进行主从复制测试。

主库:

>mysql -uroot -p

Enter password:

>use test;

>select * from user;

>insert into user values(3,"zhangsan");

>select * from user;

我们来到从库看看:

从库:

可见主从复制成功。

如果此时关闭主库服务器,在从库上使用show slave status\G,将提示:

Last_IO_Error: error reconnecting to master 'slave@192.168.147.200:3306' - retry-time: 60  retries: 86400  message: Can't connect to MySQL server on '192.168.147.200' (111)

参考:

https://baike.baidu.com/item/mariaDB/6466119?fr=aladdin

https://blog.csdn.net/qq_41772936/article/details/80380950

最新文章

  1. 初探ansible安装
  2. POJ 3155 Hard Life(最大密度子图)
  3. MS SQL还原备份数据出错
  4. chrome浏览器扩展的事件处理
  5. cocos2d-html5 onEnter init ctor构造函数 ----js特有特性(和c++有一点不一样)
  6. POJ- 2104 hdu 2665 (区间第k小 可持久化线段树)
  7. 微信移动客户端内部浏览器分享到朋友圈,QQ空间代码
  8. C#获取友好时间差
  9. 【Uva 10269 马里奥与公主的归途】
  10. swiper使用中一些点的总结
  11. ant 相关命令
  12. 第三章&#160;列表(b)无序列表
  13. SpringBoot中动态加载(热部署)
  14. JS + jQuery 实现元素自动滚动到底部,兼容IE、FF、Chrome
  15. docker使用问题总结
  16. 原创:Javascript DI!Angular依赖注入的实现原理
  17. java基础之对象当做参数传进方法的堆栈内存解析
  18. react实现换肤功能
  19. objc_runtime使用方法的几个简单例子(转)
  20. android studio Error:Unable to start the daemon process【转】

热门文章

  1. python关于try except的使用方法
  2. 【TTS】传输表空间AIX asm -&gt; linux asm
  3. 【RAC】将单实例备份集恢复为rac数据库
  4. vue 对 v-for 中数组进行过滤操作
  5. PHP微信商户支付企业付款到零钱功能
  6. 什么影响了mysql的性能-存储引擎层
  7. java基础(14)---修饰符
  8. node爬虫爬取中文时乱码问题 | nodejs gb2312、GBK中文乱码解决方法
  9. apache commons-configuration包读取配置文件
  10. mac系统下 PHPStorm 快捷键