MySQL数据库“主从”配置
一、配置概述:
在Linux操作系统中配置MySQL数据库的主从复制是很重要的,为什么这样说呢!是因为在你搭建一个服务器以后你配置了2台数据库,一主一从。2台数据库配置好以后,当其中一台数据库被攻击以后,你被攻击的这台数据库的数据会被自动的备份到另一台数据库中去。即使被攻击了数据也不会丢失。配置主从就是为了让web网站或其他的软件可以正常运转,确保数据的存在。
二、配置步骤:
《配置具备的条件》
1、需要在虚拟机上安装好两台主机,同时安装好同一个版本的MySQL数据库。确定一个数据库为主数据库。另一个数据库为次数据库。开始配置。
2、分别登录到两个系统中的MySQL数据库。
3、查看两台操作系统的网络连接是否正常
命令: Ifconfig查看IP
使用: 在主数据库上ping次数据库的IP看是否互通。
主—》次“ping 192.168.1.138”
次---》主“ping192.168.1.128”
OK
第一步:配置主数据库。
1、配置主数据库服务器。
打开my.cnf配置文件配置
vim /etc/my.cnf。
配置语句
《server-id=1 这个是确定是主数据库
log-bin=/var/lib/mysql/mysql-bin.log》指定一个数据库保存的位置
保存退出 :wq
重启服务器:servicemysqld restart
没有提示错误就说明OK的
2、进入数据库查看数据库的具体状态
命令:mysql -uroot –p 进入MySQL数据库。
命令:showmaster status\G; 查看状态。
3、对数据库的表进行锁定
命令:flush tables with read lock;
4、对MySQL数据库进行备份操作(退出 数据库以后备份
命令:mysqldump -hlocalhost -uroot -p3306 -p dzx>/home/dzx.sql
5、去/home目录下查看dzx.sql数据库文件.
6、将主数据库的dzx.sql文件传输到次数据库,以此确保数据库中的表结构和数据能够一致。
命令:scpdzx.sql [email protected]:/home/
7、取消主数据库中表的锁定。
8、在次数据库的配置文件中会使用到用户,再次提前创建好
grantreplication slave on *.* to ‘dzx‘@‘192.168.1.128‘ identified by ‘dzx123‘;
创建一个用户,赋予它所有的权限给dzxuser这个用户,他的IP为192.168.1.128,他的密码为dzx123。
第二步:配置次数据库。
1、在第二个操作系统中打开主配置文件my.cnf
vim/etc/my.cnf
2、配置次数据库里面的配置命令
server-id=2 这个是次数据库的ID号,不能和主数据库的一样
log-bin=/var/lib/mysql/mysql-bin.log 这个与主数据库的一致
master-host=192.168.1.128 这是主数据库服务的IP地址
master-user=dzx 这个是主数据库的用户名
master-pass=dzx123 这个是主数据库中用户的对应密码
master-port=3306 这个是书数据库的端口号
master-connect-retry=10 这个是配置连接的二次时间的长短---间隔连接
replicate-do-db=dzx 复制dzx这个数据库
保存退出 :wq
重启服务 servicemysqld restart
进入数据库。
3、验证两个参数,是为了保证与主数据库之间是互相通信的。
(1)查看配置
show slave status\G;
(这是从数据库的)
(这是主数据库的)
当主数据库的file项和position项都与从数据库的一致的时候才能起到作用。否则是失败的。
三、结束语:
直到这里主从数据库配置就结束了。在配置过程中注意不要配置错了,彼此之间是有联系的,一步错后面的都会导致失败。当配置成功以后,你操作主数据库时次数据库也会受到影响。数据也会自动备份到次数据库中去。本文中如果有不妥的地方还请多多指教。谢谢!