快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

Mysql主从方案

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

前言

Mysql 可以从源代码或通过编译和安装数据库。 RPM yum 安装,安装方法是可选的,但是我建议使用源代码进行编译和安装。

数据库安装

mysql 主从复制:

第一步: master 记录二进制日志。在每个交易更新数据完成之前, 在二 十六进制 记录这些更改 更改 MySQL 即使将事务中的语句全部交叉执行,也将事务写入二进制日志。将事件写入二进制日志后, 通知存储提交事务的引擎。
步骤2: 奴隶 的宋体”;”> 二进制日志 复制到其自己的中继日志。首先, slave 启动工作线程 ——I/O 线程 I/O 主线程 打开常规连接并启动 binlog转储过程 Binlog转储过程 From 在二进制日志中读取事件(如果已执行) master 生成的所有文件都将进入睡眠状态并等待 master 生成新事件。 I/O 线程将这些事件写入中继日志。
第三步: SQL从属线程 SQL 来自线程)来处理过程的最后一步。 SQL 线程从中继日志中读取事件 ,然后重新执行事件以更新 slave 使它成为 master 的数据是一致的。

Mysql 源代码编译和安装

1 )安装 cmake 编译工具

yum-y安装吗? cmake-y

? 3 )安装依赖项

yum-y安装吗? gcc gcc-c ++ ncurses-devel 用于终端操作的开发套件

4 )添加用户

useradd-u 8001-s/sbin/nologin mysql

5 )创建数据库存储目录

mkdir/数据

tar-zxvf mysql-5.6.26.tar.gz-C/usr/local/

cd?/usr/local/mysql-5.6.26

6 )编译并安装

cmake-DCMAKE_INSTALL_PREFIX =/usr/本地/mysql-DMYSQL_UNIX_ADDR =/usr/本地/mysql/mysql.sock-DDEFAULT_CHARSET = utf8-DDEFAULT_COLLATION = utf8_general_ci-DWITH_INNOBASE_STORAGE_ENG = 1 =

参数说明:

-DCMAKE_INSTALL_PREFIX 数据文件存储目录

-DMYSQL_UNIX_ADDR袜子文件路径

-DDEFAULT_CHARSET默认字符集

-DDEFAULT_COLLATION默认字符校对

-DWITH_EXTRA_CHARSETS 扩展字符支持默认全部

-DWITH_storage_STORAGE_ENGINE 存储引擎支持 默认支持 MyISAM,MERGE,MEMORY,CVS 存储引擎

-DENABLED_LOCAL_INFILE = 1 允许加载本地数据

-DMYSQL_DATADIR数据存储目录

-DMYSQL_USER mysql 运行用户

扩展:

-DWITH_PARTITION_STORAGE_ENGINE = 1 支持分区表

-DINSTALL_LIBDIR =目录名

-DSYSCONFDIR =目录名称?默认的my.cnf选项文件目录

7 )安装

?进行-j 4 \ \进行安装?-j 4 指使用 4 一个 cpu 核心数,例如我们的双核四线程,可以编写 4

8)配置 mysql

chown-R mysql:mysql/usr/local/mysql////更改所有者和流派组

cp/usr/local/mysql/support-files/my-default.cnf?/etc/my.cnf?//覆盖原始配置文件

cp/usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld//启动脚本

chmod + x/etc/init.d/mysqld////授予启动脚本执行权限

#vim/etc/init.d/mysqld吗?//在启动脚本中指定的更改 mysql 位置

basedir =

datadir =

编辑为

basedir =/usr/local/mysql

datadir =/数据

#chkconfig mysqld吗?上?//启动

初始化数据库

? #?/usr/local/mysql/脚本/mysql_install_db–defaults-file =/etc/my.cnf–basedir =/usr/local/mysql–datadir =/data–user = mysql

类似于 rpm 在安装过程中启动数据库时弹出的初始化消息

ls/数据/?//初始化以查看是否可用 mysql 测试 其他数据库

ln-s/usr/local/mysql/bin/*/bin/?//其中有一些命令,让系统直接调用

服务mysqld吗? start//启动数据库

mysql_secure_installation?//初始安全设置(设置 密码, 123456 [ 请记住,在编译和安装之前,请记住删除 mysql mysql-devel mysql-libs 三种软件 ]

[root @ master]#mysql_secure_installation

注意:建议对所有MySQL运行此脚本的所有部分

服务器在生产中使用!!请仔细阅读每个步骤!

为了登录MySQL以保护它,我们”需要当前的

root用户的

密码。如果”您刚刚安装了MySQL,并且

您尚未设置root密码,密码将为空,

,因此您只需在此处按Enter。

输入root的当前密码(不输入密码)://初始化期间密码为空,因此只需按Enter

好,成功使用密码,继续…

设置root密码可确保没有人可以登录MySQL

未经适当授权的root用户。

设置root密码? [Y/n] y//// 设置密码,选择yes

新密码:输入新密码

重新输入新密码:重复新密码

密码更新成功!

重新加载特权表..

?…成功!

默认情况下,MySQL安装有一个匿名用户,允许任何人

登录MySQL无需创建

用户帐户

他们。?这仅用于测试和进行安装

顺畅一点。您应该先删除它们,然后再移入

生产环境。

删除匿名用户? [Y/n] y//是否删除匿名登录,请选择Yes

?…成功!

通常,仅应允许root从” localhost”连接。这个

确保某人无法猜测来自网络的root密码。

禁止远程root登录? [Y/n]是吗?//禁用 root 用户远程登录,选择是

?…成功!

默认情况下,MySQL带有一个名为” test”的数据库,任何人都可以

访问。这也仅用于测试,应该删除

进入生产环境之前。

删除测试数据库并访问它吗? [Y/n]是吗?//删除测试数据库,选择”是”

?-删除测试数据库…

?…成功!

?-删除测试数据库上的特权…

?…成功!

重新加载特权表将确保到目前为止所做的所有更改

将立即生效。

现在重新加载特权表? [Y/n] y//重新加载授权信息

?…成功!

全部完成!?如果您已完成上述所有步骤,则您的MySQL

安装现在应该是安全的。

感谢您使用MySQL!

清理…

初始化完成

mysql-uroot-p123456//测试登录名( 确定

此数据库已编译并安装

主机名

IP

系统/MySQL 版本

角色

192.168.100.101

Rhel6.5/5.6.26

从属

192.168.100.102

Rhel6.5/5.6.26

从属

创建要同步的数据库:

mysql \>创建数据库HA;

mysql \>使用HA;

mysql \>创建表T1(id int,名称varchar(20));

服务mysqld停止

配置 my.cnf:

vim/etc/my.cnf

log-bin = mysql-bin-master吗? #启用二进制日志记录

server-id = 1#本地数据库 ID? 马克

binlog-do-db = HA#可从服务器复制的库。待同步的二进制数据库名称

binlog-ignore-db = mysql? #无法从服务器复制的库

重新启动 mysql:

服务mysqld重新启动

授权:

mysql \>授予复制从属?上 *。 *到由” 123456″标识的slave@192.168.100.102;

查看状态信息:

mysql \>显示主人身份;

查看二进制日志:

ls/数据/

mysql \>显示binlog事件\\\\ G

复制之前,请确保同步数据库保持一致

mysqldump?-uroot?-p123456? HA \ gt; HA.sql

您还可以导出数据库并将导出的数据库传递到从属服务器

scp HA.sql 192.168.100.102:/root

两个数据库服务器 mysql 版本应保持一致

span>

Mysql-uroot-p123456

mysql \ gt;显示类似”%version%”的变量;

测试与主服务器的连接是否成功

mysql-uslave-p123456-h 192.168.100.101

仅复制权限

导入数据库并使其与主数据库服务器保持一致

mysql-uroot-p123456

mysql \ gt;创建数据库HA;

mysql-u root ?-p123456 HA \ lt; HA.sql

修改辅助服务器配置文件:

无需从服务器开始 bin-log 记录

服务mysqld停止

vim/etc/my.cnf

服务器ID = 2? 来自服务器 ID 不,不要跟主人说话 ID 相同 ,如果要设置多个从属服务器,则每个从属服务器必须具有唯一的 server-id 该值必须与主服务器和其他从属服务器的值不同。可以认为 服务器ID 值相似 IP 地址:这些 ID 该值可以唯一地标识复制服务器群集中的每个服务器

mysql \ gt;将master更改为master_host =” 192.168.100.101″,master_user =” slave”,master_password =” 123456″;

mysql \ gt;启动奴隶;

mysql \ gt;显示从属状态\\\\ G? 查看状态

Slave_IO_Running :负责与主机托管的人 io 沟通

Slave_SQL_Running :负责您自己的 从属mysql 进度

检查主服务器上的状态:

mysql \ gt;显示过程列表\\\\ G

mysql \ gt;插入T 测试 ?值(1,” 天河 “);

从数据库中查看:

Mysql \ gt;从Ttest中选择*;

转到查看来自服务器的数据

? ================================================== ===================

主从结构完成

================================================ ==== =================

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638