linux企业运维--LAMP架构--mysql主从复制

Posted weixin_43635039

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux企业运维--LAMP架构--mysql主从复制相关的知识,希望对你有一定的参考价值。

原理:

rpm安装

如果前面做了tomcat实验。需要先关闭

如果本来关着,就会出现connection refused

server2先装

自动替换


此文件会自动更新

安全初始化

/log是数据库目录

获得初始密码

新密码要有强壮性



密码:Westos+007

发给server4,配置

主从复制

server2是master,server4是slave
只能修改master,不能动slave
master:

0是拒绝所有复制,所以现在要改成1

追加方式写入日志,所以position会增加
*.* 前面表示库,后面表示表

%表示出了localhost以外

在slave查看:

salve上的ID只要和master不同就行


简单的主从复制

slave:
io _runninng复制二进制用的
sql_running数据库回放
都是yes说明连接好了

如果在master创建库,表


slave会同步

但是会有问题,有延迟,多个slave,关闭master时,slave没有及时保存,进度不同。需要知道master中的很多信息。比如:sql-bin-000001



查看二进制日志



用户名和密码也有

一主多从 复制

源码编译传输

server5是源码编译
先演示server1怎么传过去,但是后期需要删除
因为源码编译和rpm不能混用

scp或者rsync也可以。rsync会更快



脚本复制过去 放到数据目录 不让登系统




初始化server5

报错因为没有目录


开始设置三个虚拟机

master:
强制使用gtid模式


slave1:




master和slave1已经同步

删除源码,server5重新用rpm

删除源码启动脚本

删除用户


改路径

找不到就行

重新rpm安装


slave2设置

数据库需要先备份,将备份的文件给slave2

但是如果之前slave数据库有数据,则会被覆盖,之前的被丢弃



测试,两个slave都能同步


AFTER_SYNC模式


配置此模式

https://dev.mysql.com/doc/refman/5.7/en/replication-semisync-installation.html
根据官网手册执行



master上安装plugin

slave也安装


查看状态

设置开启


重启后才是真正激活

把自动开启写到主配置文件



写好后不需要重启Mysql

上图说明。slave端,最多等10秒,否则成为异步模式。要解决这个问题,可以将超时时间设置为无穷大
默认使用after_sync

两个slave都是on就行

测试同步模式




假如一个slave坏了



slave没有新数据

一个4一个2说明数据异步了

同步延迟60s


Centos7运维-第一次在Linux下部署PHP项目,采用LAMP网站架构(Linux+Apache+MySQL+PHP)

       LAMP指的Linux(操作系统)、Apache(HTTP 服务器),MySQL(数据库软件) 和PHP(有时也是指Perl或Python) 的缩写,一般用来搭建web 服务器。

(1)Mysql 5.6

1.下载mysql-server文件

[root@Centos ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2.安装mysql-server文件
[root@Centos
~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm[root@Centos ~]# yum install mysql-server
[root@Centos ~]# ls /etc/yum.repos.d/
可看到mysql-community.repo,mysql-community-source.repo这两个文件
[root@Centos ~]#yum install mysql-server
[root@Centos ~]# service mysqld restart

  安装完成后默认空密码,需重置密码

[root@Centos ~]# mysql -uroot
mysql> set password for \'root\'@\'localhost\' = password(\'123456\');

##数据库常用命令:http://www.runoob.com/sql/sql-distinct.html

如果Navicat等数据库管理工具连接不上Centos MySQL时可参考该文章:
https://www.cnblogs.com/fnlingnzb-learner/archive/2016/09/01/5830661.html
再不行就用SSH登录。


如若想安装mysql数据库管理平台phpmyadmin
可以参考以下文章:
http://www.cnblogs.com/huanglinxin/p/8710578.html

(2)Apache 2.4

 安装Apache相对比较简单。

[root@centos ~]# yum install httpd

 装完后通过vim /etc/httpd/conf/httpd.conf修改配置文件。 

将#ServerName www.example.com:80            改为  ServerName localhost:80

将#Listen      改为  Listen:8080(linux中开放的端口号80XX)

配置完后进行测试查看。

[root@centos ~]# service httpd start
Redirecting to /bin/systemctl start  httpd.service
[root@centos ~]# service httpd status
Redirecting to /bin/systemctl status  httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2017-06-05 15:57:34 CST; 5s ago

通过局域网中主机测试访问,若失败一般都是没有添加8080端口iptables访问规则,记得保存重启,如下,

[root@Centos ~]# iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

  [root@Centos ~]# service iptables save

  [root@Centos ~]# service iptables restart

  [root@Centos ~]# iptables -nL #查看规则表,看下添加成功否

添加完在做apache访问测试,成功则如下图所示。

 

 (3)PHP 5.4

 安装PHP完成之后,安装php-mysql链接模块、php的fastcgi解析器php-fpm,然后重启httpd服务。

[root@centos ~]# yum install php
[root@centos ~]#yum install php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash 
[root@centos~]# service httpd restart 
 #测试php解析是否成功
[root@centos ~]#vi /var/www/html/test.php 

  输入如下内容

<?php
  phpinfo();
?>

 

(4)PHP项目部署

  到这里LAMP环境已经部署完,接下来就是把PHP源码放放至Apache指定文件夹中,将数据库sql文件导入mysql数据库。

1)在xshell使用 rz命令将项目PHPOA拷至/var/www/html文件夹中

(yum -y install lrzsz 安装上传下载工具,如果是.zip压缩文件要用unzip命令解压)

 

 

 2)数据库mysql中用source命令导入test.sql文件。

 

mysql导入文件可以参考以下链接:

 https://www.cnblogs.com/yuwensong/p/3955834.html

 

3)访问测试

项目导入成功后在局域网中任意终端 输入 http://ip地址:8080/项目位置  

http://192.168.2.110:8080/PHPOA/login.php  便可以访问该网页了。

 

 

 

 

1.mysql

数据库目录:/var/lib/mysql/ 配置文件:/usr/share/mysql(mysql.server命令及配置文件) 相关命令:/usr/bin(mysqladmin mysqldump等命令) my.cnf: /etc/my.cnf 启动脚本:/etc/rc.d/init.d/(启动脚本文件mysql的目录) 启动命令:service mysql start 停止命令:service mysql stop 运行状态:service mysql status

  2.apache


配置文件路径:/etc/httpd/conf/httpd.conf
启动命令:service httpd start
停止命令:service httpd stop
运行状态:service httpd status

  3.php

php默认页面路径:/var/www/html

以上是关于linux企业运维--LAMP架构--mysql主从复制的主要内容,如果未能解决你的问题,请参考以下文章

Centos7运维-第一次在Linux下部署PHP项目,采用LAMP网站架构(Linux+Apache+MySQL+PHP)

迅速教你掌握Web运维技能

基础运维终章:深入浅出LAMP架构

企业LAMP服务搭建

linux+Apache+Mysql+Php 环境的搭建

mycat结合MySQL双主实现读写分离