如何设计mysql 的主从关系
答案:2 悬赏:60 手机版
解决时间 2021-04-08 16:37
- 提问者网友:心如荒岛囚我终老
- 2021-04-07 23:13
如何设计mysql 的主从关系
最佳答案
- 五星知识达人网友:举杯邀酒敬孤独
- 2021-04-07 23:37
MySQL主从关系设置
一,概要
1.这个文档主要实现的是MYSQL主从备份(主机数据库任何修改,备份机器都会有实现)
2.但是有个问题,就是如果对备份机器数据库进行操作,可能会导致连接失败。
二,准备工作
1.可以是多台主机和从机,在这里我只用一台主机和从机为例讲解主从关系配置。2.主机IP:192.168.0.100(例子)从机IP:192.168.0.101(例子)3.主机和从机的IP地址必须是一个网段的。
4.MySQL版本:mysql-5.5.15-win32.msi安装路径:D:\MySQL\(例子)5.其他相关软件:
①.MySQL管理客户端:Navicat8forMySQL(Windows)。
②.编辑工具:Notepad++(建议用此编辑工具修改MySQL配置文件,点击此链接进入下载
页面)
三,配置主机【master】(IP:192.168.0.100)
1.在命令行窗口中执行:netstopmysql关闭mysql服务。
2.在mysql安装路径下找到配置文件my.ini文件(Linux下是文件my.cnf),一般都在MySQL安装目录下,本实验中在D:\MySQL\下。记得先备份以下原来的配置文件。并用Notepad++打开。然后在文件末尾加入下面的代码:
server-id=1#配一个唯一的ID编号
log-bin=NEW_NAME#指定日志类型
binlog-do-db=bojinv2#设置要进行主从复制的数据库名,同时也要在从机
【Slave】上设定(同步多个另起一行输入这行代码)
Binlog-ignore-db=mysql#设置不要进行主从复制的数据库名,同时也要在
【Slave】上设定(不同步多个另起一行输入这行代码
即可。)
3.在系统管理命令窗口输入:netstartmysql按回车启动mysql服务
4.在MySQL5.5CommandLineClient命令窗口(路径:开始菜单》程序》MySQL下),
输入数据库密码:******回车,如下图所示:
然后输入:grantreplicationslaveon*.*toslaveuser@从机IP(例:192.168.1.101)identifiedby'从机数据库密码(例:123456)'回车后如下图所示:
var cpro_psid ="u2572954"; var cpro_pswidth =966; var cpro_psheight =120;
出现这样的提示后,继续输入:flushprivileges;按回车,如下图所示:
出现这样的提示后,继续输入:showmasterstatus;按回车,如下图所示:
记住出现的表格中的File列和Position的值。
5.在系统管理命令窗口输入:netstopmysql按回车关闭mysql服务
6.进入MySQL管理客户端:Navicat8forMySQL(Windows)。点击菜单栏用户,右侧显示你
刚才创建slaveuser@192.168.1.101的用户,选中该用户。点击编辑用户链接。弹出窗口,再
选择权限,将所有权限都选上保存,这样主机就配置好了。重启一下MySQL服务。
四,配置从机【slave】(Ip:192.168.1.101)
1.在命令行窗口中执行:netstopmysql关闭mysql服务。
2.在mysql安装路径下找到配置文件my.ini文件(Linux下是文件my.cnf),一般都
在MySQL安装目录下,本实验中在D:\MySQL\下。记得先备份以下
原来的配置文件。并用Notepad++打开。然后在文件末尾加入下面的代
码:
server-id=2#配一个唯一的ID编号,不能与主机和其他的从机相同
replicate-do-db=bojinv2#设置要进行主从复制的数据库名,数据库名与主机
相同
replicate-ignore-db=mysql#设置不要进行主从复制的数据库名,数据库名与
主机相同
别忘了保存修改后的文件。
3.在系统管理命令窗口输入:netstartmysql按回车启动mysql服务
4.在MySQL5.5CommandLineClient命令窗口(路径:开始菜单》程序》MySQL下),
输入数据库密码,按回车成功登录数据库。5.登录成功后,在该命令窗口输入:
Changemastertomaster_host='主机IP(192.168.1.100)',master_user='
一,概要
1.这个文档主要实现的是MYSQL主从备份(主机数据库任何修改,备份机器都会有实现)
2.但是有个问题,就是如果对备份机器数据库进行操作,可能会导致连接失败。
二,准备工作
1.可以是多台主机和从机,在这里我只用一台主机和从机为例讲解主从关系配置。2.主机IP:192.168.0.100(例子)从机IP:192.168.0.101(例子)3.主机和从机的IP地址必须是一个网段的。
4.MySQL版本:mysql-5.5.15-win32.msi安装路径:D:\MySQL\(例子)5.其他相关软件:
①.MySQL管理客户端:Navicat8forMySQL(Windows)。
②.编辑工具:Notepad++(建议用此编辑工具修改MySQL配置文件,点击此链接进入下载
页面)
三,配置主机【master】(IP:192.168.0.100)
1.在命令行窗口中执行:netstopmysql关闭mysql服务。
2.在mysql安装路径下找到配置文件my.ini文件(Linux下是文件my.cnf),一般都在MySQL安装目录下,本实验中在D:\MySQL\下。记得先备份以下原来的配置文件。并用Notepad++打开。然后在文件末尾加入下面的代码:
server-id=1#配一个唯一的ID编号
log-bin=NEW_NAME#指定日志类型
binlog-do-db=bojinv2#设置要进行主从复制的数据库名,同时也要在从机
【Slave】上设定(同步多个另起一行输入这行代码)
Binlog-ignore-db=mysql#设置不要进行主从复制的数据库名,同时也要在
【Slave】上设定(不同步多个另起一行输入这行代码
即可。)
3.在系统管理命令窗口输入:netstartmysql按回车启动mysql服务
4.在MySQL5.5CommandLineClient命令窗口(路径:开始菜单》程序》MySQL下),
输入数据库密码:******回车,如下图所示:
然后输入:grantreplicationslaveon*.*toslaveuser@从机IP(例:192.168.1.101)identifiedby'从机数据库密码(例:123456)'回车后如下图所示:
var cpro_psid ="u2572954"; var cpro_pswidth =966; var cpro_psheight =120;
出现这样的提示后,继续输入:flushprivileges;按回车,如下图所示:
出现这样的提示后,继续输入:showmasterstatus;按回车,如下图所示:
记住出现的表格中的File列和Position的值。
5.在系统管理命令窗口输入:netstopmysql按回车关闭mysql服务
6.进入MySQL管理客户端:Navicat8forMySQL(Windows)。点击菜单栏用户,右侧显示你
刚才创建slaveuser@192.168.1.101的用户,选中该用户。点击编辑用户链接。弹出窗口,再
选择权限,将所有权限都选上保存,这样主机就配置好了。重启一下MySQL服务。
四,配置从机【slave】(Ip:192.168.1.101)
1.在命令行窗口中执行:netstopmysql关闭mysql服务。
2.在mysql安装路径下找到配置文件my.ini文件(Linux下是文件my.cnf),一般都
在MySQL安装目录下,本实验中在D:\MySQL\下。记得先备份以下
原来的配置文件。并用Notepad++打开。然后在文件末尾加入下面的代
码:
server-id=2#配一个唯一的ID编号,不能与主机和其他的从机相同
replicate-do-db=bojinv2#设置要进行主从复制的数据库名,数据库名与主机
相同
replicate-ignore-db=mysql#设置不要进行主从复制的数据库名,数据库名与
主机相同
别忘了保存修改后的文件。
3.在系统管理命令窗口输入:netstartmysql按回车启动mysql服务
4.在MySQL5.5CommandLineClient命令窗口(路径:开始菜单》程序》MySQL下),
输入数据库密码,按回车成功登录数据库。5.登录成功后,在该命令窗口输入:
Changemastertomaster_host='主机IP(192.168.1.100)',master_user='
全部回答
- 1楼网友:逐風
- 2021-04-07 23:43
备份:
[sql] view plain copy
mysqldump -uroot -p -s /tmp/mysql3306.sock --single-transaction --add-drop-database --master-data=1 --database tms,test >test_backup.sql
--single-transaction : 一致性备份,在备份开始前, 先执行start transaction命令,以此来获得备份的一致性,当前该参数只对innodb存储引擎有效。当启用该参数并进行备份时, 确保没有其他任何的ddl语句执行,因为一致性读并不能隔离ddl语句。
--add-drop-database: 备份里会有创建删除数据库的命令, 要和-database一起使用。
--master-data:通过该参数产生的备份转存文件主要用来建立一个slave replication。 当value的值为1时,转存文件中记录change master语句,当value的值为2时,change master语句被写成sql注释。默认情况下, value的值为空。
停止原从库的slave复制:
[sql] view plain copy
mysql> stop slave;
query ok, 0 rows affected (0.00 sec)
mysql> reset slave all;
query ok, 0 rows affected (0.08 sec)
mysql> show slave status\g;
empty set (0.00 sec)
在从库进行source:
[sql] view plain copy
source /apps/test_backup.sql
待恢复完成后,可以根据备份文件里提供的binlog postion来启动rep:
[sql] view plain copy
mysql> change master to master_host='192.168.0.93',master_port=3306,master_user='replication',master_password='replication',master_log_file='mysql-bin.000005',master_log_pos=69295895;
query ok, 0 rows affected (0.00 sec)
mysql> flush privileges;
query ok, 0 rows affected (0.04 sec)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯