当前位置:首页 > 计算机相关 > mysql > 正文内容

mysql主从同步配置

piikee8个月前 (12-27)mysql550

两台mysql服务器主从同步配置方法如下:

我们假设两台服务器IP分别如下

主master : 192.168.1.10

从slave  :   192.168.1.11


一、主服务器要开启允许外网访问,这个mysql开允许外网访问自己谷歌一下

二、

配置主库,授权给从数据库服务器,主数据库登录mysql执行以下命令,创建一个slave用户给192.168.1.11这台从服务器,让它可以通过这个用户名和密码来访问主服务器获取数据:


mysql>GRANT REPLICATION SLAVE ON *.* to 'slave'@'192.168.1.11' identified by 'test123456';
mysql>FLUSH PRIVILEGES;


三、修改主库配置文件,开启binlog,并设置server-id,每次修改配置文件后都要重启mysql服务才会生效。主服务器的mysql配置文件加入以下内容:

server-id = 1
log-bin=mysql-bin
log-bin-index=mysql-bin.index
sync_binlog=1

binlog-do-db=cmdb #要同步的数据库名

还可以显示 设置不同步的数据库:

binlog-ignore-db = mysql 不同步mysql库和test库
binlog-ignore-db = test

修改配置文件后,重启服务:service mysqld restart

四、查看主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复。执行以下命令:


mysql>+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000001 |     13034 | cmdb         |                  |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)


五、配置从库。也是从服务器的mysql配置文件里面加入以下内容:


server-id=2
master-host=192.168.1.10master-user=slave
master-password=test123456
master-port=3306
replicate-do-db=cmdb


六、登录从库mysql,输入以下命令:


mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.10', MASTER_PORT=3306, MASTER_USER='slave', MASTER_PASSWORD='test123456', MASTER_LOG_FILE='binlog.000001', MASTER_LOG_POS=13034; #后面两个参数的值与主库保持一致
mysql> slave start;
Query OK, 0 rows affected (0.04 sec)
七、查看同步状态
在从库mysql命令行输入 show slave status\G;
查看slave的状态,如果下面两项值为YES,则表示配置正确:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes


七、如果以上两个不是YES,可以执行以下内容:


mysql>  reset slave;
Query OK,  rows affected ( sec)
mysql> start slave IO_THREAD;
Query OK,  rows affected ( sec)
mysql> stop slave IO_THREAD;
Query OK,  rows affected ( sec)
mysql> reset slave;
Query OK,  rows affected ( sec)
mysql> start slave;
Query OK,  rows affected ( sec)
mysql> show slave status\G


应该就正确了。

扫描二维码推送至手机访问。

版权声明:本文由萍客小居发布,如需转载请注明出处。

本文链接:https://www.piikee.net/1497.html

分享给朋友:

相关文章

ubuntu等linux系统下如何让mysql后台执行

由于有几十亿条数据的表要进行某个重大工程修改。。。然后然后。。。好吧,直入主题,下面语句就是直接让mysql后台执行的:root@10-10-74-251:~# nohup mysql -u用户名 -p密码 -e "insert into...

myisamchk: error: myisam_sort_buffer_size is too small解决办法

用myisamchk修复一个被损坏的表,结果显示如下错误:root@10-10-74-251:/data/mysql_data/cmd5# myisamchk -r -f md5_core.MYI- recovering (with sor...

load方法快速导入数据库--mysql

LOAD DATA INFILE '1-10000000.txt' INTO TABLE md5_core(pwd);1-1000000.txt为要导入的文件名,md5_core为要导入的表,pwd为字段。输入这句命令之前,先执行 use...

mysql error(13)的解决办法

mysql自己重新搞数据库目录,或者通过apt-get updata &&apt-get upgrade升级后,出现了无法启动,看日志里面是error(13),可以确定是权限问题。解决办法:vi /etc/apparmor....

常用sql语句

insert ignore into md5(a,b,c,d,pid) select substring(md5(pwd),1,8),substring(md5(pwd),9,16),substring(md5(pwd),17,24),su...

PHP实现mysql加密算法mysql323和mysql5,即old_password()和password()两个mysql函数

由于mysql5.7之后,已经停用old_password函数了,所以这里用PHP实现mysql加密算法mysql323和mysql5,即old_password()和password()两个mysql函数,转载请注明来自萍客小居www.p...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。