Maria数据库怎么复制到mysql_maria(mysql)的主从复制
一.mariadb的基本操作
1.远程连接
mysql -uroot -p -h 127.0.0.1mysql-uroot -p -h 192.168.226.128
2.赋予远程连接的权限
grant all privileges on *.* to root@'%' identified by 'root'
#赋予所有的权限在所有的库所有的表给root用户在任意ip登录,验证通过密码root
3.修改root密码
#用root登录之后
set password =PASSWORD('hahhaha')
4.创建mysql用户
create user tom@'%' identified by 'hahha';
flush privileges;
5.给用户查看所有库所有表权限
grant select on *.* to tom@'%' indentified by 'haha'
6.给用户增加其他权限
grant update,delete,insert on *.* tom@'%' identified by 'haha'
7.授予权限的语法
#mysql使用grant命令对账户进行授权,grant命令常见格式如下:
grant 权限 on 库名.表名 to 账户@主机名 对特定数据库中的特定表授权
grant 权限 on 库名.*to 账户@主机名 对特定数据库中的所有表给与授权
grant 权限1,权限2,权限3 on*.*to 账户@主机名 对所有库中的所有表给与多个授权
grant all privileges on*.* to 账户@主机名 对所有库和所有表授权所有权限
8.移除权限
revoke create on *.* from tom@"%" identified by 'haha';
revoke delete on*.* from tom@"%" identified by 'haha';
9.查看权限
show grants for tiger@127.0.0.1;
10.查询用户信息
use mysql;
select host ,user,passwordfrom user;
11.数据库的备份与恢复
#备份所有
mysqldump -uroot -p --all-databases >/tmp/db.sql#备份单个数据库
mysqldump -u root -p luffycity >/tmp/luffycity.msql
12.导入数据库
#方法一#登录
source /tmp/luffycity.sql#方法二
mysql -uroot -p < /tmp/luffycity.sql#方法三
navicate
13.删库
drop database 库名;
二 .主从复制 (确保主从的mariadb的数据库版本一致)
MySQL数据库的主从复制方案,是其自带的功能,并且主从复制并不是复制磁盘上的数据库文件,而是通过binlog日志复制到需要同步的从服务器上。
MySQL数据库支持单向、双向、链式级联,等不同业务场景的复制。在复制的过程中,一台服务器充当主服务器(Master),接收来自用户的内容更新,而一个或多个其他的服务器充当从服务器(slave),接收来自Master上binlog文件的日志内容,解析出SQL,重新更新到Slave,使得主从服务器数据达到一致。
主从复制的逻辑有以下几种:
一主一从,单向主从同步模式,只能在Master端写入数据
一主多从
双主主复制逻辑架构,此架构可以在Master1或Master2进行数据写入,或者两端同事写入(特殊设置)
在生产环境中,MySQL主从复制都是异步的复制方式,即不是严格的实时复制,但是给用户的体验都是实时的。
MySQL主从复制集群功能使得MySQL数据库支持大规模高并发读写成为可能,且有效的保护了服务器宕机的数据备份。
应用场景:
利用复制功能当Master服务器出现问题时,我们可以人工的切换到从服务器继续提供服务,此时服务器的数据和宕机时的数据几乎完全一致。
复制功能也可用作数据备份,但是如果人为的执行drop,delete等语句删除,那么从库的备份功能也就失效了.
主从机制实现原理:
1. 主数据库写入数据之后, 会有data changes(数据变化)记录2. 有变化记录之后,将增删改的一些sql语句记录到本地的Binary log(二进制日志)中3. 从库会一直开启着一个线程4. 通过线程去读取这个二进制日志的内容5. 从库会将数据写入到自己的Relay log(中继日志)中6. 从库会将中继日志中的操作转化为SQL thread(SQL语句)7. 通过转化的SQL语句写入到自己的数据库, 两边的数据就一致了
1 准备两台机器
106.12.112.139#主服务器master(可读可写)
192.168.226.128 #从服务器slave(可读)
实际工作中数据库读取操作比较多,由于从服务器是读,所以从服务器的配置要强悍一些
2. 两台机器上分别安装mariadb数据库
106.12.112.139用户名: root
密码: 123192.168.226.128用户名: root
密码: 123
配置主库(102.12.112.139)上操作
3.在主数据库
停mariadb
systemctl stop mariadb
4. 修改主数据库的配置文件
vim /etc/my.cnf
添加以下内容
[mysqld]#如果配置文件里面有这一行,就只需要加以下两行配置就可以了
server-id=1log-bin=qishi2-logbin
5. 重启主数据库
systemctl restart mariadb
6. 创建主从复制用户账号
create user 'tom'@'%' identified by 'tom';
7.给主从库账号授权,说明给tom从库复制的权限,在102.12.112.139机器上复制
grant replication slave on *.* to 'tom'@'%';
8. 实现对主数据库锁表只读,防止数据写入,数据复制失败
flush table with read lock;
9. 查看并记录主数据库的状态
show master status;
10. 确认主数据库是否已经成功锁表
11. 导出主数据库的数据为alldb.sql
mysqldump -u root -p --all-databases > /opt/alldb.sql
12. 把这个数据库文件拷贝到从数据库的/opt目录下
scp /opt/alldb.sql 192.168.226.56:/opt/
配置从数据库(192.168.226.128)
1.停止从数据库服务
systemctl stop mariadb
2.修改从数据库的配置文件
vim /etc/my.cnf
添加以下配置
[mysqld]
server-id=5read-only=true
3.启动从数据库服务
systmectl start mariadb
4.在从库上导入主数据库数据
mysql -u root -p
source/opt/alldb.sql
5.查看主库的参数
show master status;
6.配置复制的参数,Slave从库连接Master主库的配置(最重要的一步)
change master to master_host='106.12.112.139',
master_user='tom',
master_password='tom',
master_log_file='qishi2-logbin.000004',
master_log_pos=370;
7.启动从库的同步开关,测试主从复制的情况
satrt slave
8. 查看从库的状态
show slave status\G;
主库的后续操作(106.12.112.139)
1.导出数据完毕,并配置好从库开启主从同步后,再解锁主库,恢复可写;
unlock tables;
2.验证主从复制情况
在主库上创建数据,查看从库数据同步状态
在主库(102.12.112.139)创建任意数据库
create database hahahaha;#发现从库看不到这个数据库,以内我们只给tom这个账户复制的权限而已
#说我再给tom查看的权限
3. 在主库上给予qihang用户select的权限, 并刷新授权表
grant select on *.* to tom@"%" identified by "tom";
flush privileges;
4. 在从库上登录tom用户, 并尝试创建一个库
mysql -utom -p #这边不能加-h了,用本机登录
5.验证主从读写分离状态(从库操作)
从库上提示read-only表示主从同步读写分离已经成功完成
Maria数据库怎么复制到mysql_maria(mysql)的主从复制相关推荐
- mysql之主从复制
MySQL主从复制介绍 MySQL的主从复制是其自带的功能,通过逻辑的binlog日志复制到要同步的服务器本地,主服务器(Master),接收来自用户的内容更新,而一个或多个其他的服务器充当从服务器( ...
- mysql 拷贝数据库 表存在却打不开_mysql数据库文件复制后表打不开
mysql数据库文件复制后表打不开找了很多方法最终解决了.InnoDB只有frm表结构,拷贝过去mysql后说表不存在网上说还要拷贝ibdata1文件,但这样的话会覆盖掉mysql本来有的ibdata ...
- mysql数据库表复制备份_mysql数据库的备份以及表格数据之间的复制
#####-------------mysql数据备份以及表间数据的复制-------------------##### ##----------------我的mysql学习(二)--------- ...
- mysql实例怎么复制_Mysql实例MySQL数据库复制概论
<Mysql实例MySQL数据库复制概论>要点: 本文介绍了Mysql实例MySQL数据库复制概论,希望对您有用.如果有疑问,可以联系我们. 导读:每当我们讨论一项(新的)领域技术的时候, ...
- mysql数据库建仓范式_存mysql个数
MySQL学习笔记之数据类型详解 注:以下内容针对MySQL5.0及以上版本 MySQL的数据类型非常多,选择正确的数据类型对于获得高性能至关重要,本文是我结合网上看到的一些blog加上<高性能 ...
- Mysql之主从复制及主主复制
环境: 2台数据库服务器(centos6.5,mysql5.6) 假设ip为192.168.1.11和192.168.1.12 主从复制 192.168.1.11 为主数据库服务器 192.168. ...
- Spring事务管理--(一)数据库事务隔离级别与mysql引擎基础讲解
一.前言 本篇文章来自网络整理,很简单,但是很实用对于初级和中级工程师. 原创地址1:http://www.cnblogs.com/hollen/archive/2012/05/13/2498309. ...
- php mysql 主从复制_Windows 环境下,MySQL 的主从复制和主主复制
Mysql的主从配置 1.找到配置文件 找到配置文件是主从复制的第一个难点.很多新手都容易找错配置文件,一般my.ini配置文件所在的位置都是隐藏的. 一般人都以为配置文件为 C:\Program F ...
- 数据库:SQL Server与MySQL
本文系转载文章,转载自博客园https://www.cnblogs.com/hhx626/p/6010369.html 一.SQL Server基本简介 1.1,概述 SQL Server 是Micr ...
最新文章
- matlab-矩阵应用
- 给Jquery easyui 的datagrid 每行增加操作链接(转)
- 关于Animator获取当前剪辑长度
- python 程序运行插件_如何使Python插件在Pluma中运行?
- 海思Hi3516DV300 SDK首次安装以及编译问题的解决
- Struts初步知识
- Python如何创建相同值的数组/列表
- 网络服务考试(通过率50%)
- Linux用户管理详解大结局(下)
- Git学习文档之一 学习文档-并行开发
- Python入门教程100天:Day09-面向对象进阶
- 21天Jmeter打卡Day20 响应断言,JSON断言
- linux创建n个进程的方法 --- fork
- 校园网自动登录(校园翼行网)
- 【机器学习 基本概念】马尔可夫链
- 如何选择适合你的兴趣爱好(三十九),口琴
- 《跨境电商 —— 阿里巴巴速卖通实操全攻略》一一2.2 发布你的第一个产品...
- 如何在safri查看网页源代码
- 鸿蒙系统小窗模式,mate30pro升鸿蒙后小窗应用调不出来
- 点击页面出现富强民主,文明和谐之类的文字
热门文章
- 图像配准的前世今生:从人工设计特征到深度学习
- 【从蛋壳到满天飞】JS 数据结构解析和算法实现-AVL树(一)
- ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set...
- 王立飞:专注己之长 跨界求发展
- 开启Mac充电提示音
- hdu 2552 三足鼎立 关于tan的数论
- Citrix XenApp 6.0 发布应用程序时 ICO 错误的解决方法
- PowerDesigner的样式设置
- Attention! .net 持久层正式发布 :Noebe
- cc arm linux gcc,(80分请教):armcc 与 arm-elf-gcc的区别?