准备两台服务器(mysql的安装这里略过)
主机A的IP:192.168.110.128
主机B的IP:192.168.110.129
1.编辑数据库配置文件my.cnf,一般在/etc/目录下,主机A、主机B 都要修改( 注意:server-id要唯一)
vim /etc/my.cnf
在[mysqld]下面加上server-id=2,log-bin=mysql-bin,如下:[mysqld]
server-id=2
log-bin=mysql-bin
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
server-id的值随意,唯一就行(看到id的只有也应该猜到)
log-bin为日志文件
保存退出
2.主机A、主机B都重启mysql,
service mysqld restart
3.登录mysql,命令:mysql -u root -p (root:登录名),回车输入密码即可。
查看数据库:show databases;有个数据库名为mysql的,其中有个user表,把你要用与主从登录的账号的那条数据的Host字段,把 location 改为 %
4.设置主机B为主数据库
CHANGE MASTER TO
MASTER_HOST='192.168.110.129',
MASTER_USER='root',
MASTER_PASSWORD='root',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=191,
MASTER_CONNECT_RETRY=10;
MASTER_HOST 主机ip
MASTER_USER 登录用户
MASTER_PASSWORD 登录密码
MASTER_PORT 端口
MASTER_LOG_FILE 日志文件 ,登录主机A登录mysql 运行 showmaster status
MASTER_LOG_POS 从哪行开始,获知同上
5.刷新权限并开启备机
Master_Host: 192.168.110.128flush privileges;start slave;show slave
show slave status\G;
看到这样的信息这正确(重点是后面两个为yes)
Master_User: root
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 213
Relay_Log_File: mysqld-relay-bin.000008
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes