1.master/slvae,my.cnf配置文件设置
# 主库配置
# 日志文件名
log-bin = mysql-bin
# 主数据库端ID号
server-id = 1
# 下面配置根据实际情况进行配置,可以忽略默认就行
# 不同步哪些数据库
binlog-ignore-db = mysql
binlog-ignore-db = test
binlog-ignore-db = information_schema
# 只同步哪些数据库,除此之外,其他不同步,多个数据库不能用逗号,否则不生效
binlog-do-db = game
binlog-do-db = game2
# 从库配置
# 从数据库端ID号
server-id = 2
#slave也可设置仅同步或者不同步,几个数据库写几行,使用逗号不生效
replicate-do-db = gane
2.创建slave帐号slave_1,密码123456
mysql>grant replication slave on *.* to 'slave_1'@'%' identified by '123456';
3.更新数据库权限
mysql>flush privileges;
4.master锁库,保证数据一致性
mysql> flush tables with read lock
5.查看master的数据库状态
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000013 | 159 | | |
+------------------+----------+--------------+------------------+
1 row in set
6.复制主库完整数据库到从库
7.根据master数据库状态,用命令的方式进行启动slvae
mysql> change master to master_host='10.1.1.1',master_port=3306,master_user='slave_1',master_password='123456',master_log_file='mysql-bin.000013',master_log_pos=159;
设置从服务器只读
read_only = ON
8.启动/暂停
mysql> start slave; //启动主从复制
mysql> stop slave; //暂停主从同步
9.master 解锁库
mysql> unlock tables;
10.查看slave服务器状态
mysql> show slave status\G;
...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
#如果上面两个参数为Yes,即代表设置成功。如果出错,Slave_SQL_Running_State会有提示。
重置slave 信息
mysql> reset slave; # 清除binlog 文件名及位置
mysql> reset slave all; # 清除slave 的连接配置信息
如果遇到uuid相同的错误,需要删除auto.cnf文件,重启后会自动生成
(auto.cnf文件在/etc/my.cnf中datadir配置的目录下/ 宝塔在 /www/server/data)
有可能使用到的命令
#连接命令
mysql -uroot -ppassword -h127.0.0.1 -P3306
#查看所有数据库
show databases;
#进入数据库
use database;
#查看所有表
use tables;
#导入sql数据库
source ../*.sql
#重启数据库
service mysqld restart
#查看当前二进制日志状态
show master statujs\G
#帮助命令
help change msater to;
#查找某个文件
find / -name "my.cnf";
#查看错误
show warnning;
#查看主库状态
show master status \G
#查看从库状态
show slave status \G
#重置主记录信息
reset master;
#重置从记录信息
reset slave;
#停止始从
stop slave;
#开始从
start slave;
#清空从所有连接、信息记录
reset slave all;
#删除从
change master to master_host=' ';
4.7删除主从同步#从库
stop slave;
reset slave all;
show slave status \G
#清除从库配置文件的配置
#主库
reset master;
#清除主库配置文件的配置
#清除mysql.user从库账号
show master status \G