首页 >

mysql生产环境主从配置自动切换 |mysql 5.7.21.0.msi

php mysql后端开发,mysql软件的功能,mysql结果用逗号分割,mysql 不建议建索引,mysql分区的条件,mysql 5.7.21.0.msimysql生产环境主从配置自动切换 |mysql 5.7.21.0.msi

首先,大家需要在主服务器和从服务器上安装MySQL,并确保它们之间可以互相访问。然后,大家需要在主服务器上创建一个MySQL用户,并授予它可以从任何IP地址访问主服务器的权限。例如:

CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

接下来,在主服务器上启用二进制日志(binary log),并为每个日志文件生成一些唯一的标识符,例如:

server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M

然后,在从服务器上设置它将成为主服务器的副本,并告诉它应该从哪个主服务器复制数据。例如:

server-id = 2
relay-log = /var/log/mysql/mysql-relay-bin.log
log_slave_updates = 1
read_only = 1
replicate-do-db = mydatabase
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
master-host = 192.168.1.100
master-user = repl
master-password = your_password
master-port = 3306

最后,在从服务器上启动MySQL服务,并启动从服务器的复制进程,例如:

service mysql start
mysql -u root -p
CHANGE MASTER TO MASTER_HOST='192.168.1.100',MASTER_USER='repl', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=107;
START SLAVE;

现在,大家已经完成了MySQL主从复制的设置,但是大家还需要实现自动切换。为此,大家可以使用Pacemaker和Corosync这两个开源软件来检测主服务器的状态,并在主服务器宕机时自动将从服务器提升为主服务器。例如:

pcs cluster cib mysql
pcs -f mysql resource create virtual-ip ocf:heartbeat:IPaddr2 ip=192.168.1.200 cidr_netmask=24 op monitor interval=30s
pcs -f mysql resource create mysql-service ocf:percona:mysql datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock pid=/var/run/mysqld/mysqld.pid user=root additional_parameters="--bind-address=0.0.0.0" binary=/usr/bin/mysqld_safe
pcs -f mysql constraint colocation add mysql-service with virtual-ip INFINITY
pcs -f mysql constraint order virtual-ip then mysql-service
pcs cluster start mysql

这样,当主服务器宕机时,Pacemaker会自动将从服务器提升为新的主服务器,并将虚拟IP地址迁移到新的主服务器上。

总之,在MySQL生产环境中,大家应该使用主从复制来提高系统的可用性和可靠性。通过使用Pacemaker和Corosync等开源软件,大家还可以实现自动切换,以确保在主服务器宕机时,系统可以快速恢复正常运行。