目录
mysql常用命令
1. select version(); 查看版本号
2. show global variables like 'port'; 查看端口号
3. show variables like 'server_id'; 查看server-id
4. show grants for root@'localhost'; 查看账户权限
5. show master status\G; show slave status\G; 查看主从数据库状态
主服务器配置
master my.ini配置
server-id = 118 #数据库id,不能重复,我这里的118为当前ip的最后三位
log-bin = mysql-bin #二进制日志文件,必填项,否则不能同步数据;如果不取名字的话,那么就会以计算机的名字加编号来命名二进制文件;
binlog-do-db = testcreate #需要同步的数据库,如果还需要同步另外的数据库,那么继续逐条添加,如果不写,那么默认同步所有的数据库;
binlog-ignore-db = mysql #不需要同步的数据库;
创建用于主从同步的账号,并授权
CREATE USER 'slave'@'localhost' IDENTIFIED BY '123456';#创建用户,我的主从服务器都是在本地电脑上只是端口号不同,所以这里为localhost
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'localhost';#授权
flush privileges; #刷新权限
查看master状态,记下当前file position
mysql> show master status;
+------------------+----------+--------------+------------------+---------------
----+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_
Set |
+------------------+----------+--------------+------------------+---------------
----+
| mysql-bin.000002 | 1145 | | |
|
+------------------+----------+--------------+------------------+---------------
从服务器配置
slave my.ini配置
server-id = 3 #只需要添加一个server-id就可以了。不能跟主服务器相同
#然后执行下面的sql语句
mysql> CHANGE MASTER TO
-> MASTER_HOST='localhost', #master IP
-> MASTER_USER='slave', #上面分配的主从复制的账户名
-> MASTER_PASSWORD='123456', #密码
-> MASTER_LOG_FILE='mysql-bin.000002', #上面master status 中的file 二进制文件名称
-> MASTER_LOG_POS=1145; # position值 它的位置
启动slave
start slave;
#查看slave状态
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: localhost
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 1145
Relay_Log_File: lg-PC-relay-bin.000004
Relay_Log_Pos: 1312
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
#当 Slave_IO_Running: Yes Slave_SQL_Running: Yes 这两项都为yes时表示主从同步设置成功了。
如果主从数据库都在同一个电脑上,要注意server-uuid,在data目录下的auto.cnf文件中更改下就可以了,随便改,只要不一样就可以。