Linux搭建主从数据库服务器(主从复制)

摘要:
配置主机数据库:1.克隆Linux操作系统。2.修改Linux系统的主机IP地址。主机IP:192.168.247.150。从属IP:192.168.247.151.3.通过xshell连接到主机。连接到主机IP:sh192.168.247.150。连接可能失败。

配置主机数据库:

1.克隆linux操作系统

  Linux搭建主从数据库服务器(主从复制)第1张

  Linux搭建主从数据库服务器(主从复制)第2张

  Linux搭建主从数据库服务器(主从复制)第3张

  Linux搭建主从数据库服务器(主从复制)第4张

2.修改Linux系统主机IP地址

  主机IP:192.168.247.150

  从机IP:192.168.247.151

   Linux搭建主从数据库服务器(主从复制)第5张

  Linux搭建主从数据库服务器(主从复制)第6张

3.通过xshell连接Master

连接主机IP:ssh 192.168.247.150

  这里有可能连接失败。

  方案一:将虚拟机的网络适配器设置成网络连接

   Linux搭建主从数据库服务器(主从复制)第7张

  方案二:在本机设置网络IP,将虚拟机IP设置成虚拟机上的Linux系统的同一网段即可。

  Linux搭建主从数据库服务器(主从复制)第8张

4.安装Mysql数据库

  1、创建文件夹

    cd (空格)/usr/local/src

  2、创建mysql文件夹

    mkdir mysql

  3、进入到Mysql文件夹

    cd mysql

  4、解压mysql    (依次执行以下命令)

    1.tar -xvf Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar

    2.rpm -ivh Percona-Server-56-debuginfo-5.6.24-rel72.2.el6.x86_64.rpm

    3.rpm -ivh Percona-Server-shared-56-5.6.24-rel72.2.el6.x86_64.rpm

    4. rpm -ivh Percona-Server-client-56-5.6.24-rel72.2.el6.x86_64.rpm

    5.rpm -ivh Percona-Server-server-56-5.6.24-rel72.2.el6.x86_64.rpm

    6.导入sql脚本--直接将sql文件拖入编辑框即可

  5、启动mysql服务

    service mysql start

    这里可以通过mysql 命令(因为在此步还未设置用户名和密码)进入到mysql数据库中查看下表是否正确。然后exit; 退出数据库

  6、开启3306端口

    iptables -I INPUT -p tcp --dport 3306 -j ACCEPT  

  7、设定用户名和密码

    mysqladmin -u root password "root"

  8、授权命令(在Xshell中登录mysql后执行)

    语法:

    grant [权限] on [数据库名].[表名] to ['用户名']@['web服务器的ip地址'] identified by ['密码'];

    grant all on *.* to 'root'@'%' identified by 'root';(建议用这种)

    或者指定IP地址

    grant all on *.* to 'root'@'192.168.1.103' identified by 'root';

  9、通过可视化工具连接198.167.247.150这台主机上的数据库。

    Linux搭建主从数据库服务器(主从复制)第9张

  

 配置从机数据库:

  从机数据库是从主机复制而来的,所以只需添加服务号ID和添加二进制日志文件即可(第六步开始)。授权啥的都克隆过来了。

1.先将主机的Mysql服务停止之后关机,再进行虚拟机克隆

  克隆和修改从机的IP地址的步骤同上

 2、修改从库的MysqlId

  vim /var/lib/mysql/auto.cnf  或者 vim auto.cnf

  修改uuid值(点击 i 进入修改模式,点击esc键并输入 :wq 回车保存)uuid的值先随意改一个的地方,与主机的mysqlid区分开就OK

  Linux搭建主从数据库服务器(主从复制)第10张

3、开启从库的端口号

  Linux搭建主从数据库服务器(主从复制)第11张

  打开3306端口:iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

   查看当前端口的开放状态:/etc/rc.d/init.d/iptables status

 4、开启192.168.150主机虚拟机

  先看看端口号是否开放,若没开放先开放,若开放了直接开始mysql服务。

  service mysql start

 5、验证:通过可视化工具连接两台数据库服务器上的mysql数据库

   分别是192.168.247.150和192.168.247.151两台机器上的数据库

  Linux搭建主从数据库服务器(主从复制)第12张

6、主从复制的配置

1.修改主库的配置文件(修改主库的服务号)

  vim /etc/my.cnf

  按 i 进入编辑模式

  server-id=1

  log-bin=mysql-bin

  按esc退出并输入 :wq 命令保存

 Linux搭建主从数据库服务器(主从复制)第13张

2、重新启动mysql

  先停止mysql服务 service mysql stop

    此步可能会有个ERRO:

    Linux搭建主从数据库服务器(主从复制)第14张

    解决方法:

      先查询mysql服务项   ps -ef |grep mysql 

      Linux搭建主从数据库服务器(主从复制)第15张

      然后将多余的进程杀掉 kill -9 1953 2146 多余的端口号

3、启动mysql服务

  service mysql start 

  Linux搭建主从数据库服务器(主从复制)第16张

4、查看主库的Master信息

  Show master status

  Linux搭建主从数据库服务器(主从复制)第17张

5、将从库挂载到主库上

  1.修改从库的服务号 vim /etc/my.cnf

  Linux搭建主从数据库服务器(主从复制)第18张

server-id的值是自己定的。这里就主机为1,从机为2,往后若还有其它从机就为3,4,5..... 这样方便区分识别。

 6、重启从机服务器

  先stop 再 start 即可

7、从节点挂载到主节点

  在从表的可视化工具上执行挂载语句:

    /*配置注解 主机名/端口号/用户名/密码/二进制文件名称/同步的位置 */

    CHANGE master to MASTER_HOST='192.168.247.150',MASTER_PORT=3306,

    MASTER_USER='root',MASTER_PASSWORD='root',

    MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=120

备注:

  红色部分为需要修改的地方,更具实际信息添加.

  二进制文件名称和同步位置通过第4步操作从主库中查出的确切数据

8、启动从节点

  start slave

  show slave status(测试主从库是否有下面的两个yes状态)

  Linux搭建主从数据库服务器(主从复制)第19张

如果出现2个yes则表示上述配置运行成功。

 

 9、测试是否成功

  通过在主机的数据库上创建一个新的测试数据库 "AAA"数据库,若在从机的数据库刷新后也存在 “AAA”数据库则表明当前的数据库主从复制搭建成功!!!!

  也可以在主库指定的数据库的数据表中添加一条记录,若在从库的相同数据库的数据表中也存在这条记录也表明搭建成功!!!!!!

   Linux搭建主从数据库服务器(主从复制)第20张

免责声明:文章转载自《Linux搭建主从数据库服务器(主从复制)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇微信小程序注册和简单配置无线Mesh网络技术基础与应用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL Server2012数据库开启远程连接

在我们使用SQL Server数据库的时候很重要的一点就是开启数据库的远程连接,这是因为很多时候数据库部署在远程的服务器上会比较方便,而部署在客户端的话,由于客户端不固定,所以需要经常去部署,这样容易经常去改变数据库,从而造成系统不稳定,但是部署在服务器上我们需要远程连接,而当我们安装好一个数据库之后,默认是不开启数据库远程连接的,那么该怎样一步步去打开远...

Linux中通过/proc/stat等文件计算Cpu使用率

Linux平台Cpu使用率的计算 proc文件系统 /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统...

kettle-3(linux环境调度kjb并配置定时读取)

1.首先要把kettle搬到Linux系统下,rar包解压需要操作下,直接提供.tar.gz : https://pan.baidu.com/s/1_tzcy8GCKJ7qHzjTSqNnxQ (7rv6) [.tar.gz] linux 2.将Windows中配置好的.ktr&.kjb搬到Linux目录下,没滑头,具体配置如下: #建立.sh的任...

MySQL中REGEXP正则表达式使用大全

REGEXP在mysql是用来执行正则表达式的一个函数 像php中的preg之类的函数了,regexp正则函数如果只是简单的查询使用like即可,但复杂的还是需要使用regexp了,下面我们来看看。 MySql用户手册建议,在构造简单查询时,仍使用通配符。 如:Select [*|fieldname list] From [tablename] whe...

SQLSERVER如何导入数据保持ID不变(ID为自增主键)

使用SQL SERVER最操蛋的就是导入数据,以前用企业管理器直接导数据,导一次骂N次娘,在骂了微软无数次娘之后总结了一个方法揍合着还算受用。 其核心要点就是要将数据结构导入到目标数据库服务器上,再来导数据,如果直接使用sql企业管理器向目标数据库导入数据,就会发生一系列操蛋的问题: ID不能自增了、ID改变了、主键索引被删了。 其实直接导还是有办法保持i...

python之SQLAlchemy

ORM介绍 orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为了保证一致的使用习惯,通过orm将编程语言的对象模型和数据库的关系模型建立映射关系,这样我们在使用编程语言对数据库进行操作的时候可以直接使用编程语言的对象模型...