Ubuntu Mysql 主从设置
2012-02-15 10:43
323 查看
虽然网上主从设置很多,但真到自己设置的时候还是出了一些问题。过程如下。
首先做一下功课,ubuntu装的mysql貌似没有打开bin_log,首先要到my.cnf里打开log_bin选项。
skip-external-locking 和 bind-address 选项要注释掉,不然不能远程连接数据库。
其他的跟网上配置相同
主库配置:
server-id = 1 #主机标示,整数
log_bin = mysql-bin #确保此文件可写
read-only =0 #主机,读写都可以
binlog-do-db =test #需要备份数据,多个写多行
binlog-ignore-db=mysql #不需要备份的数据库,多个写多行
保存重启mysql.
在主服务器上为从服务器建立一个用户:
grant replication slave on *.* to 'slave'@'192.168.196.88' identified by '111321';
#grant replication slave on *.* to '用户名'@'从服务器地址' identified by '密码';
#从服务的地址也可以写地址段如 ...'slave'@'192.%'...
建立完账号以后通过命令刷新一下权限关联表:flush privileges;
查看master是否建立完成: show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 218 | test | mysql |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
Master基本完成;
从服务器设置
与Master一样,打开bin_log日志,取消远程连接限制(不取消应该也没问题,没试过)。
设置Slave的Mysql My.cnf 如下:
server-id = 2
log_bin = mysql-bin
master_host = 192.168.196.68
master_port = 3306
master_user = slave
master_password = 111321
master_connect_retry = 10 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)
replicate-do-db = test #只复制某个库
replicate-ignore_db = mysql #不复制某个库
重启Slave
同步数据:
备份Master恢复到Slave上 :mysqldump -u root -p test > test.sql
登录Slave的Mysql,查看状态mysql> show slave status\G;
如果为空,说明从库设置有问题,可以做如下操作:
先停止 slave:stop slave;
然后设置连接配置:change master to master_host='192.168.196.68', master_user='slave', master_password='111321',master_port=3306;
启动Slave:start slave;
查看状态。
我到这里主从就设置好了,录入更新建表删除都没问题了。看网上教程,到这里还有可能出问题,问题如下记录之:
可能出现的问题:
1.如果此处不是为yes即配置有问题
?Slave_IO_Running: Yes
?Slave_SQL_Running: Yes
我在配置中出现 Slave_IO_Running: NO 即权限的问题,从服务器连接不上主服务器,主服务器上开放更高权限的账号即可,重新配置第四步
2.Last_IO_Error: error connecting to master 'admin@192.168.1.142:3306' - retry-time:60 retries:86400
这个问题是从服务器上的my.cnf上的账号密码配置要与mysql下的手动指定相同,重新配置change master那步
首先做一下功课,ubuntu装的mysql貌似没有打开bin_log,首先要到my.cnf里打开log_bin选项。
skip-external-locking 和 bind-address 选项要注释掉,不然不能远程连接数据库。
其他的跟网上配置相同
主库配置:
server-id = 1 #主机标示,整数
log_bin = mysql-bin #确保此文件可写
read-only =0 #主机,读写都可以
binlog-do-db =test #需要备份数据,多个写多行
binlog-ignore-db=mysql #不需要备份的数据库,多个写多行
保存重启mysql.
在主服务器上为从服务器建立一个用户:
grant replication slave on *.* to 'slave'@'192.168.196.88' identified by '111321';
#grant replication slave on *.* to '用户名'@'从服务器地址' identified by '密码';
#从服务的地址也可以写地址段如 ...'slave'@'192.%'...
建立完账号以后通过命令刷新一下权限关联表:flush privileges;
查看master是否建立完成: show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 218 | test | mysql |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
Master基本完成;
从服务器设置
与Master一样,打开bin_log日志,取消远程连接限制(不取消应该也没问题,没试过)。
设置Slave的Mysql My.cnf 如下:
server-id = 2
log_bin = mysql-bin
master_host = 192.168.196.68
master_port = 3306
master_user = slave
master_password = 111321
master_connect_retry = 10 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)
replicate-do-db = test #只复制某个库
replicate-ignore_db = mysql #不复制某个库
重启Slave
同步数据:
备份Master恢复到Slave上 :mysqldump -u root -p test > test.sql
登录Slave的Mysql,查看状态mysql> show slave status\G;
如果为空,说明从库设置有问题,可以做如下操作:
先停止 slave:stop slave;
然后设置连接配置:change master to master_host='192.168.196.68', master_user='slave', master_password='111321',master_port=3306;
启动Slave:start slave;
查看状态。
我到这里主从就设置好了,录入更新建表删除都没问题了。看网上教程,到这里还有可能出问题,问题如下记录之:
可能出现的问题:
1.如果此处不是为yes即配置有问题
?Slave_IO_Running: Yes
?Slave_SQL_Running: Yes
我在配置中出现 Slave_IO_Running: NO 即权限的问题,从服务器连接不上主服务器,主服务器上开放更高权限的账号即可,重新配置第四步
2.Last_IO_Error: error connecting to master 'admin@192.168.1.142:3306' - retry-time:60 retries:86400
这个问题是从服务器上的my.cnf上的账号密码配置要与mysql下的手动指定相同,重新配置change master那步
相关文章推荐
- Linux(Ubuntu)环境MYSQL->master/slave主从同步设置以及注意事项
- Linux(Ubuntu)环境MYSQL->master/slave主从同步设置以及注意事项
- ubuntu下C++mysql编译环境设置
- MySQL的复制主从设置
- Ubuntu 16.04 设置MySQL远程访问权限
- Mysql同步和主从设置
- mysql5.5 主从备份设置
- Ubuntu 安装后的初始设置ssh、Mysql
- ubuntu下的mysql主从配置:
- [mysql终极优化]之主从复制与读写分离详细设置教程
- ubuntu mysql 字符集设置
- mySql主从同步设置
- 设置Ubuntu上的MySQL可以远程访问
- Ubuntu下搭建mysql搭建主从配置
- Win10 与 Ubuntu 16.04下 MySQL 5.7.17的主从复制
- mysql主从同步设置
- ubuntu 上的mysql 允许远程登陆设置
- MySQL 5.5主从同步设置笔记分享
- 解决ubuntu下修改my.cnf设置字符集导致mysql无法启动
- 同机MySQL主从同步设置