二.mysql配置
1.准备两台服务器安装mysql(也可以在一台中装两个mysql修改端口号避免冲突)
2.分别连接mysql
3.配置mysql
1.配置主库 monster
打开binary log
2.配置从库
主库授权
账号repl后面的是从库的ip地址 mysql是账号repl的密码
刷新
后面master_log_pos=0 表示从零开始同步 master_log_file 是上面SHOW MASTER STATUS 下面的file文件
在从库中开启主从跟踪
查看从库状态
从库中终止主从同步 stop slave
查看 my.cnf 文件 把 server -id=1 的字段删除 保留server-id=2 修改后保存 重启mysql 重新连接 开启主从同步start slave
查看从库状态 发现没有错误 到此主从同步配置已经完成.
起因:发现 MySQL Slave 数据库 各项状态正常即SQL 线程 IO线程正常,但就是数据不更新,解决办法每次重启服务 恢复正常。 1.首先要确定主服务器与从服务器的数据库是否一样,比如主数据库有,demo,test,lomo,manage。从数据库也必须有这些数据库。如果主从服务器数据库一致则忽律此步。 2. Slave数据库my.cnf 配置文件添加如下配置 slave_net_timeout=30 配置好之后将从服务器的数据重新从主服务器拉取一下。保持数据跟主服务器一致 重启MySQL服务:service mysqld restart根据要求配置MySQL主从备份、读写分离,结合网上的文档,对搭建的步骤和出现的问题以及解决的过程做了如下笔记现在使用的两台服务器已经安装了MySQL,全是rpm包装的,能正常使用。
为了避免不必要的麻烦,主从服务器MySQL版本尽量保持一致
环境:192.168.0.1 (Master)
192.168.0.2 (Slave)
MySQL Version:Ver 14.14 Distrib 5.1.48, for pc-linux-gnu (i686) using readline 5.1
server-id = 1 //数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值
log-bin=mysql-bin //启用二进制日志
binlog-do-db=data //需要同步的二进制数据库名
binlog-ignore-db=mysql //不同步的二进制数据库名这个同步后听说很麻烦,我没有同步
log-bin=/var/log/mysql/updatelog //设定生成的log文件名
log-slave-updates //把更新的记录写到二进制文件中
slave-skip-errors //跳过错误,继续执行复制
2、建立复制所要使用的用户
mysql>grant replication slave on *.* to identified by '********'
3、重启mysql
/usr/bin/mysqladmin -uroot shutdown
/usr/bin/mysql_safe &
4、现在备份Master上的数据
锁定后我直接tar.gz data这个库文件
mysql>FLUSH TABLES WITH READ LOCK
cd /var/lib/mysql
tar data.tar.gz data
接着直接执行了远程scp
scp ./data.tar.gz
5、登录Slave数据库服务器,修改my.cnf
server-id = 3 //2已经被用在另一个服务器上了,如果以后要再加Slave号接着往后数就OK了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)