一、在两台Ubuntu机器上安装mysql
1.检查系统中是否安装了mysql
这个是已经安装了的
没有安装的话执行上条命令
===============================
MySQL的一些简单管理:
启动MySQL服务: sudo start mysql 停止MySQL服务: sudo stop mysql 修改 MySQL 的管理员密码: sudo mysqladmin -u root password newpassword
二、Master主服务器上的配置(103.251.237.42)
1.编辑my.cnf (命令查找文件位置:find / -name my.cnf)
在[mysqld]中注释掉 bind-address = 127.0.0.1 不然mysql无法远程
server-id = 1 中 1 是可以自己定义的,但是需要保持它的唯一性,是服务器的唯一标识
log_bin 启动MySQL二进制日志 binlog_do_db 指定记录二进制日志的数据库 binlog_ignore_db 指定不记录二进制日志的数据库。
注释掉 binlog_do_db 和 binlog_ignore_db ,则表示备份全部数据库
做完这些后,重启下数据库
2.登陆主服务器mysql 创建从服务器用到的账户和权限;
@之后IP可访问主服务器,这里值定从服务器IP
新建密码为masterbackup的masterbackup 用户,并赋予replication slave 权限
可以看到用户masterbackup 已经添加
3.查看主数据库的状态
记录 mysql-bin.000007 以及 276,编写以下命令待用;
change master to master_host='103.251.237.42',master_port=3306,master_user='masterbackup',master_password='masterbackup',master_log_file='mysql-bin.000007',master_log_pos=276;
三、Slave从服务器配置上的配置(103.251.237.45)
1.编辑my.cnf(命令查找文件位置:find / -name my.cnf)
在[mysqld]中
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
暂时不清楚这是做什么的。加入这两条。
重启mysql服务
登陆mysql,停止同步命令
执行用上面准备的命令; 登录Slave从服务器,连接Master主服务器:
重新启动数据同步;
查看Slave信息;如图两句都为yes,则状态正常
四、从主从服务器测试结果
在主服务器创建一个数据库
在从服务器上查看刚才创建的数据库
可以查到,主从服务器配置完成。
=================================================================================================
因为以上是两台新机器做的mysql主从配置;所以不需要从主服务器导入之前的数据到从服务器;那么如果主服务器已经有了一部分数据,就需要增加从主服务器导入数据到从服务器的操作;
在配置主服务器赋予从服务器权限后;
1.执行以下命令锁定数据库以防止写入数据;
这个命令是全局读锁定,执行命令之后所有库所有表都将被锁定为只读。一般都是用在数据库联机备份,这个时候数据库的写操作将被阻止,读操作可以顺利进行;
2.退出mysql命令行,导出数据库到root文件下并命名为all.sql;
3.使用scp命令传输数据库文件all.sql到从服务器;
4.再次连接数据库进入mysql命令查看master状态,记录file 和position 的值;
5.解锁数据表;
在配置从服务器前,先导入数据;
1. 导入主服务器的数据库;
2. 之后的配置如之前的从服务器配置;
Atas ialah kandungan terperinci mysql主从同步配置的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!