Linux系统中MySQL数据库“主从”配置

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项都与从数据库的一致的时候才能起到作用。否则是失败的。

三、结束语:

直到这里主从数据库配置就结束了。在配置过程中注意不要配置错了,彼此之间是有联系的,一步错后面的都会导致失败。当配置成功以后,你操作主数据库时次数据库也会受到影响。数据也会自动备份到次数据库中去。本文中如果有不妥的地方还请多多指教。谢谢!

时间: 2024-10-06 03:51:04

Linux系统中MySQL数据库“主从”配置的相关文章

linux系统上Mysql数据库导入导出操作

需求:把MySQL数据库目录中的dz数据库备份到/home/dz_bak.sql ,然后再新建一个数据库dzbak,最后把/home/dz_bak.sql 导入到数据库dzbak中.操作如下:以下操作均在终端命令行下进行 1.mysqldump -u root -p dz > /home/dz_bak.sql        #导出数据库     123456     #输入数据库密码     扩展:     mysqldump -u root -p dz pre_portal_comment >

[转帖]mysql数据库主从配置

mysql数据库主从配置 https://www.toutiao.com/i6680489302947791371/ 多做实验 其实挺简单的 很多东西 要提高自信 去折腾. 架构与我 2019-04-16 21:50:24 在一篇文章<离线安装mysql数据库>,讲解了离线安装mysql数据库的过程,本文将讲解mysql数据库的主从配置方法.mysql数据库进行主从配置后,可以实现数据库的备份.同时应用也可以实现读写分离,提高应用的并发量. 1.主从原理 从<高性能mysql>书中

Linux 系统中重启数据库

Linux 系统中重启数据库: 1.进入数据库用户:  su - oracle 2.先关闭监听: lsnrctl stop 3.再关闭数据库服务 :  sqlplus shutdown immediate 4.开启数据库服务:sqlplus startup 5.开启监听:lsnrctl start 版权声明:本文为博主原创文章,未经博主允许不得转载.

解决Linux系统下Mysql数据库中文显示成问号的问题

当我们将开发好的javaWEB项目部署到linux系统上,操作数据库的时候,会出现中文乱码问题,比如做插入操作,发现添加到数据库的数据中文出现论码,下面就将解决linux下mysql中文乱码问题! 打开Linux窗口,启动mysql. 连接mysql输入show variables like '%char%'; 出现如下图,这样的话在linux下操作mysql会出现中文乱码,所以我们要解决这个问题. 关闭mysql,找到 /etc/my.cnf 文件 3.1 如果没有找到my.cnf文件,就从

Linux系统中的mariadb主从数据库搭建

主从服务器的优势 读写分离,使数据库能支撑更大的并发有的表sql语句非常的慢,可能会导致锁表,就影响前台服务.如果前台使用master,查询使用slave,那么将不会造成前台锁,保证了前台速度. 发扬不同表引擎的优点Myisam表的查询速度比innodb快,而写入并发innodb比myIsam要好.那么,我们可以使用innodb作为 master,处理高并发写入,使用master作为slave,接受查询.或在myisam slave中建立全文索引,解决innodb无全文索引的弱点 实现服务器负载

linux系统中apache虚拟目录配置

在搭建网站的时候,我们会经常在同一台服务器上面搭建多个站点,这时候就需要用到apache的虚拟机知识.下面就linux系统下apache虚拟目录的配置说简要说明: 1.源代码安装apache + PHP + MySQL(请查考我的博文lamp环境搭建): 2.在本地计算机的hosts文件加入如下行: 192.168.137.10 erp.100msh.com 192.168.137.10 mopadmin.100msh.com 然后cmd中 ping erp.100msh.com 检查是否网络通

mysql数据库主从配置

MySQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维 护日志文件的一个索引以跟踪日志循环.当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那 时起发生的任何更新,然后封锁并等待主服务器通知下一次更新. 为什么使用主从复制? 1.主服务器/从服务器设置增加了健壮性.主服务器出现问题时,你可以切换到从服务器作为备份. 2.通过在主服务器和从服务器之间切分处理

mysql数据库主从配置及还原

主数据库服务器的配置master 51 做主从配置要保持两个数据库中的库和表一致 1 做用户授权2 启用binlog日志3 查看正在使用的binlog日志文件1. mysql> grant replication slave on . 授权.(所有的库和表)-> to-> [email protected]"%" 可用%代表所有,也可指定具体ip地址-> identified by "123456"; 指定密码2.]#vim /etc/my.

解决linux 系统中Mysql 进程占用CPU 300%故障

今日接到同事的电话,说微信公共帐号中的游戏无法登陆,用户不能玩了,麻烦尽快解决. 1.登陆IDC机房查看服务器流量图,流量正常,排除故障与流量无关. 2.登陆微信公共帐号中的游戏所在服务器发现系统互载过高,mysql进程CPU使用率超过300%. 为了快速解决问题直接重启mysql服务后,再查sysql进程CPU使用率依旧高居不下.故障还没有解决,继续寻找原因. 3.登陆mysql数据库,执行show processlist;查看当前正在执行的sql语句,发现几个表出现"sending data