2024年5月4日发(作者:)
MySQL数据库的同步配置
MySQL是开源的关系型数据库系统。主从同步复制(Replication)是从一台MySQL数据库
服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程。
主主、主从是用来分担MYSQL的压力?
#####################配置主服务器(master)#######################################
1、编辑数据库配置文件 或 (windows),一般在/etc/目录下。
#vi /etc/
在[mysqld]的下面加入下面代码:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/
user=mysql
server-id=1 加入
log-bin=/var/lib/mysql/ 加入
#replicate-do-db=cloud
#auto-increment-increment=2
#auto-increment-offset=1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format='ROW'
[mysqld_safe]
log-error=/var/log/
pid-file=/var/run/mysqld/
名词注释:
server-id=1中的1可以任定义,只要是唯一的就行。
binlog-do-db=wordpress是表示只备份wordpress。
binlog_ignore_db=mysql表示忽略备份mysql。
不加binlog-do-db和binlog_ignore_db,那就表示备份全部数据库。
2、然后重启MySQL: service mysqld restart
3、登录MySQL服务器。
#mysql -uroot –p
在主服务器192.168.3.38新建一个用户赋予“REPLICATION SLAVE”的权限。你不需要再
赋予其它的权限。在下面的命令,把X.X.X.X替换为从服务器的IP。
mysql> CREATE USER 'bak'@'192.168.3.90' IDENTIFIED BY 'wangsu520';
mysql>GRANT REPLICATION SLAVE ON *.* TO 'bak'@'192.168.3.90' IDENTIFIED BY
'wangsu520';
测试:在客户机使用bak ,wangsu520去连接主机
mysql –ubak –pwangsu –h 192.168.3.38是否能连接上。并测试是否能查看表的权限有哪
几个表。需要是全部的表可以查看。
4、执行以下命令锁定数据库以防止写入数据。
mysql>FLUSH TABLES WITH READ LOCK;
5、退出mysql命令行,导出数据库
#mysqldump -u root –pwangsu520 --all-databases > /root/
6、使用scp命令传输数据库文件到从服务器。
#scp /root/ root@192.168.3.90:/root
7、再次连接数据库进入mysql命令行查看master状态。
mysql>SHOW MASTER STATUS;
请记下显示的信息,配置从服务器会用到。
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000001| 253| dbispconfig | mysql |
+——————+———-+————–+——————+
1 row in set (0.00 sec)
注:如果主机没有人写入的话,本步骤检查以及后面在同步的时候,直接再查看主机的
SHOW MASTER STATUS; 以最后的一次数据为准也可以。
8、解锁数据表。
mysql>UNLOCK TABLES;
########################备机操作##############################################
IP:192.168.3.90
配置从服务器(slave)
登录从服务器。
1、导入主服务器的数据库。
#mysql -u root –pwangsu520 < /root/
2、编辑配置文件,在[mysqld]下面加入:
server-id=2
注:2可以自己定义,只要保证唯一的就行。
3、保存文件并重启mysqld。
#service mysqld restart
4、登录从mysql服务器,执行以下命令。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1714784713a2515158.html
评论列表(0条)