mysql数据库主从配置

如题所述

web站点一般存在的性能瓶颈就是数据库访问,单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想。我们就要利用集群或者多台服务器来解决问题。数据库主从配置及读写分离就是其中的一种解决方案。
每台服务器安装mysql数据库,然后将你要实现主从同步的数据库表,分别导入两台机器的中。 我们下面的例子按照主服务器的ip为192.168.3.100,从服务器的ip为192.168.3.101来进行操作。
我们通过打开服务的控制台,使用 mysql -h 192.168.3.100 -u 数据库名称 -p,进入主数据。执行命令创建用户,并且赋予replication slave 权限(主), $createuser'dba'@'192.168.3.101'identifiedby'123456' grantreplicationslaveon*.*todba@'192.168.3.101';

修改主机Master配置文件(/etc/my.cnf) server-id=1 log-bin=/var/lib/mysql/mysql-bin binlog_do_db= 主从同步数据库名称 bind_address=192.168.3.100
查看主机状态 showvariableslike'server_id'; 如果server_id'不存在执行,创建SETGLOBALserver_id=1; 主机上查看用户权限 showgrantsfor'yukang1'@'192.168.3.101'; 查看主服务器状态showmasterstatus\G; 如图, 记录下File和Position的值。从服务器要用 重启服务器sudoservicemysqlrestart 主服务器配置完成。

修改主机slave配置文件(/etc/my.cnf) server-id=2 replicate-do-db= 主从同步数据名称
打开控制台,使用 mysql -h 192.168.3.101 -u 数据库名称 -p,进入从服务数据库。执行命令 changemastertomaster_host='192.168.3.101',master_user='dba',master_password='123456',master_log_file='binlog_repl|.000001',master_log_pos=106; 关闭从服务:stopslave; 启动服务:strartslave;
showvariableslike'server_id'; 如果server_id'不存在执行,创建SETGLOBALserver_id=2; 查看从服务器状态showslavestatus\G; ***************************1.row***************************Slave_IO_Running:YesSlave_SQL_Running:Yes××××××××××××××××××××××××××××××××××××××× 这两项为yes,恭喜你,部署就成功了。
温馨提示:答案为网友推荐,仅供参考
相似回答