Linux搭建主从数据库服务器(主从复制)
配置主机数据库:
1.克隆linux操作系统
2.修改Linux系统主机IP地址
主机IP:192.168.247.150
从机IP:192.168.247.151
3.通过xshell连接Master
连接主机IP:ssh 192.168.247.150
这里有可能连接失败。
方案一:将虚拟机的网络适配器设置成网络连接
方案二:在本机设置网络IP,将虚拟机IP设置成虚拟机上的Linux系统的同一网段即可。
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这台主机上的数据库。
配置从机数据库:
从机数据库是从主机复制而来的,所以只需添加服务号ID和添加二进制日志文件即可(第六步开始)。授权啥的都克隆过来了。
1.先将主机的Mysql服务停止之后关机,再进行虚拟机克隆
克隆和修改从机的IP地址的步骤同上
2、修改从库的MysqlId
vim /var/lib/mysql/auto.cnf 或者 vim auto.cnf
修改uuid值(点击 i 进入修改模式,点击esc键并输入 :wq 回车保存)uuid的值先随意改一个的地方,与主机的mysqlid区分开就OK
3、开启从库的端口号
打开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两台机器上的数据库
6、主从复制的配置
1.修改主库的配置文件(修改主库的服务号)
vim /etc/my.cnf
按 i 进入编辑模式
server-id=1
log-bin=mysql-bin
按esc退出并输入 :wq 命令保存
2、重新启动mysql
先停止mysql服务 service mysql stop
此步可能会有个ERRO:
解决方法:
先查询mysql服务项 ps -ef |grep mysql
然后将多余的进程杀掉 kill -9 1953 2146 多余的端口号
3、启动mysql服务
service mysql start
4、查看主库的Master信息
Show master status
5、将从库挂载到主库上
1.修改从库的服务号 vim /etc/my.cnf
server-id的值是自己定的。这里就主机为1,从机为2,往后若还有其它从机就为3,4,5..... 这样方便区分识别。
6、重启从机服务器
先stop 再 start 即可
7、从节点挂载到主节点
在从表的可视化工具上执行挂载语句:
/*配置注解 主机名/端口号/用户名/密码/二进制文件名称/同步的位置 */
CHANGE master to MASTER_HOST=',
MASTER_USER='root',MASTER_PASSWORD='root',
MASTER_LOG_FILE='
备注:
红色部分为需要修改的地方,更具实际信息添加.
二进制文件名称和同步位置通过第4步操作从主库中查出的确切数据
8、启动从节点
start slave
show slave status(测试主从库是否有下面的两个yes状态)
如果出现2个yes则表示上述配置运行成功。
9、测试是否成功
通过在主机的数据库上创建一个新的测试数据库 "AAA"数据库,若在从机的数据库刷新后也存在 “AAA”数据库则表明当前的数据库主从复制搭建成功!!!!
也可以在主库指定的数据库的数据表中添加一条记录,若在从库的相同数据库的数据表中也存在这条记录也表明搭建成功!!!!!!
Linux搭建主从数据库服务器(主从复制)的更多相关文章
- Linux之主从数据库(1+X)
主从数据库搭建 改主机名 配置网络 配置yum源(下载mysql) 写域名解析文件 主从同步:(备份,负载(读)) 第一步:数据库的初始化,修改配置文件,定义server-id(所有节点),开启二进制 ...
- Centos7搭建主从DNS服务器
1.准备 例:两台192.168.11.10(主),192.168.11.11(从),域名www.test1.com # 主从DNS服务器均需要安装bind.bind-chroot.bind-util ...
- Linux 搭建Java web服务器
未经允许,不得转载 1.jdk的下载与配置 1.1下载 sudo wget http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45- ...
- MySQL搭建主从数据库 实现读写分离
首先声明,实际生产中,网站为了提高用户体验,性能等,将数据库实现读写分离是有必要的,我们让主数据库去写入数据,然后当用户查询的时候,然后在从数据库读取数据,故能减轻数据库的压力,实现良好的用户体验! ...
- Linux——搭建Samba(CIFS)服务器
一.Samba的基本概念 Samba服务:是提供基于Linux和Windows的共享文件服务,服务端和客户端都可以是Linux或Windows操作系统.可以基于特定的用户访问,功能比NFS更强大. S ...
- 【Linux搭建创建FTP服务器】---完美解决 - 费元星
配置大红字文件置顶: vsftp d.conf 4.5KB useradd -d /home/bai_du -s /sbin/nologin bai_du 修改访问权限: usermod ...
- Linux搭建oracle数据库
1.安装前准备 软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...
- linux搭建简单samba服务器
1.安装需要的软体 yum install -y samba samba-client samba-common 2.创建samba需要的本地用户,创建samba服务使用的目录 Linux系统文件的读 ...
- Linux——搭建Apache(httpd)服务器
一.基本概念 Apache(或httpd)是Internet上使用最多的Web服务器技术之一,使用的传输协议是http超文本传输协议(一个基于超文本的协议),用于通过网络连接来发送和接受对象. 有两个 ...
随机推荐
- Nginx配置(一)
下载源码安装包:http://nginx.org 稳定版Nginx 1.6.2 tengine: 2.1.2 1.安装缺少依赖的包: (yum install jemalloc) yum -y ins ...
- 【Tools】Windows下Github的配置和使用
1.在网址:http://windows.github.com/下载git软件,具体的安装步骤可以参见:Windows 系统下Git安装图解 2.同样根据上面的教程生成SSH key: 3.将publ ...
- 数据结构:Treap
关于重量平衡树的相关概念可以参考姊妹文章:重量平衡树之替罪羊树 Treap是依靠旋转来维护平衡的重量平衡树中最为好写的一中,因为它的旋转不是LL就是RR 对于每一个新的节点,它给这个节点分配了一个随机 ...
- JAVA嵌套类:静态嵌套类和非静态嵌套类
1.内部类定义 内部类在维基百科的定义为: 面向对象编程中,内部类(又叫做嵌套类)是在另一个类或者接口中进行声明的类.内部类不同于子类(subclass).(译者注:wiki的注解有误,内部类和嵌套 ...
- Sass 基本特性-基础 笔记
一.变量声明 $ 变量的声明使用 $ 所有的变量必须声明到变量调用之前 从3.4版本开始,Sass已经可以正确处理作用域的概念 在局部范围声明一个已经存在于全局内的变量时,局部变量就会成为全 ...
- 关于SQL注入的五大报错注入函数
~全部都以查user()为例子~ 1.floor()id = 1 and (select 1 from (select count(*),concat(version(),floor(rand(0) ...
- POJ 2431 Expedition (优先队列+贪心)
题目链接 Description A group of cows grabbed a truck and ventured on an expedition deep into the jungle. ...
- js_读【javascript面向对象编程指南】笔记
写在前面: 工欲善其事,必先利其器.编程的器,是前人总结的经验,常言道站在巨人的肩膀上开发,往往比自己另辟蹊径容易的多.经验藏于书,故有书中自有颜如玉,书中自有黄金屋,我也一度认为读书要花费很多时间, ...
- RelativeLayout相对布局中属性值
android:layout_above="@id/xxx" --将控件置于给定ID控件之上 android:layout_below="@id/xxx" ...
- TensorFlow两种方式计算Cross Entropy
sparse_softmax_cross_entropy_with_logits与softmax_cross_entropy_with_logits import tensorflow as tf y ...