mysql使用keepalive实现HA(一)—主从master/slave部分

使用一主一从master/slave;

来源:http://ju.outofmemory.cn/entry/26073,http://blog.csdn.net/xuejiazhi/article/details/8941156

1.KeepAlived+Mysql

Mysql VIP :192.168.1.11

Master1:192.168.1.82

Master:192.168.1.83

OS 环境:Cent OS 6.5

Mysql版本:Mysql-community 5.7

2.安装mysql,略,如有需要参考:http://wp.tanguu.com/2016/01/06/remiepel-%E7%9A%84yum-%E6%BA%90%E5%AE%89%E8%A3%85/

3.修改my.cnf配置

在两台要进行备份的mysql服务器上的my.cnf文件进行配置如下(将下面的配置分别加入相关服务器的my.cnf):注意按原作者是这样设置log-bin=/var/log/mysql/mysql-bin.log(创建该文件并chown mysql.mysql),结果本人这样做的时候mysql启动不了的情况,最后修改成如下配置:

Master1(192.168.1.82)

Master(192.168.1.83)

#主标服务标识号,必需唯一

server-id = 1

#因为MYSQL是基于二进制的日志来做同步的,每个日志文件大小为 1G

log-bin=mysql-bin

#要同步的库名

binlog-do-db = test

#不记录日志的库,即不需要同步的库

binlog-ignore-db=mysql

#用从属服务器上的日志功能

log-slave-updates

#经过1日志写操作就把日志文件写入硬盘一次(对日志信息进行一次同步)。n=1是最安全的做法,但效率最低。默认设置是n=0。

sync_binlog=1

# auto_increment,控制自增列AUTO_INCREMENT的行为,用于MASTER-MASTER之间的复制,防止出现重复值,auto_increment_increment=n有多少台服务器,n 就设置为多少,auto_increment_offset=1设置步长,这里设置为1,这样Master的auto_increment字段产生的数值是:1, 3, 5, 7, …等奇数ID

auto_increment_offset=1

auto_increment_increment=2

#进行镜像处理的数据库

replicate-do-db = test

#不进行镜像处理的数据库

replicate-ignore-db= mysql

#主标服务标识号,必需唯一

server-id = 2

#因为MYSQL是基于二进制的日志来做同步的,每个日志文件大小为 1G

log-bin=mysql-bin

#要同步的库名

binlog-do-db = test

#不记录日志的库,即不需要同步的库

binlog-ignore-db=mysql

#用从属服务器上的日志功能

log-slave-updates

#经过1日志写操作就把日志文件写入硬盘一次(对日志信息进行一次同#步)。n=1是最安全的做法,但效率最低。默认设置是n=0。

sync_binlog=1

# auto_increment,控制自增列AUTO_INCREMENT的行为用于MASTER-MASTER之间的复制,防止出现重复值,auto_increment_increment=n有多少台服务器,n 就设置为多少,auto_increment_offset=2设置步长,这里设置为2,这样Master的auto_increment字段产生的数值是:2, 4, 6, 8, …等奇数ID

auto_increment_offset=2

auto_increment_increment=2

#进行镜像处理的数据库

replicate-do-db = test

#不进行镜像处理的数据库

replicate-ignore-db= mysql

4.查看配置情况:

mysql> show master status;#主

mysql> show master status;#从

5.创建同步帐户

GRANT REPLICATION SLAVE ON *.* TO ‘slave’@’%’ IDENTIFIED BY ‘Tangzhq_88’;#主

mysql> FLUSH PRIVILEGES;   //刷新相关权限表

GRANT REPLICATION SLAVE ON *.* TO ‘slave’@’%’ IDENTIFIED BY ‘Tangzhq_88’;#从

mysql> FLUSH PRIVILEGES;   //刷新相关权限表

注:会遇到密码强度的问题,修改密码为高强度:大小写,数字特殊字符;还会遇到让修改root密码的,修改即是1

6.同步设置

Master1(192.168.1.82)上操作如下:

mysql> stop slave;  //停止slave

mysql> change master to master_host=’192.168.1.83′, master_user=’slave’, master_password=’Tangzhq$0810′, master_log_file=’mysql-bin.000001′, master_log_pos=849; //修改当前的Master的值,因为是互为备份,所以Master1(192.168.1.82)的master为Master2(192.168.1.83),Master2设置复制的用户名为slave,密码是Tangzhq$0810,上面通过 show master status我们得知,log_file是mysql-bin.000001,postion是849。

mysql>start slave;    //开始salve,开始同步

mysql>show slave status;   //检测slave状态,如果Slave_IO_Running: Yes    Slave_SQL_Running: Yes    Seconds_Behind_Master: 0就OK了

 

Master2(192.168.1.83)上面操作如下:

mysql> stop slave;  //停止slave

mysql>change master to master_host=’192.168.1.82′, master_user=’slave’, master_password=’Tangzhq$0810′, master_log_file=’mysql-bin.000004′, master_log_pos=1098; //修改当前的Master的值,因为是互为备份,所以Master2(192.168.1.83)的master为Master2(192.168.1.82),Master1设置复制的用户名为slave,密码是Tangzhq_88,上面通过 show master status我们得知,log_file是mysql-bin.000004,postion是1098。

mysql>start slave;    //开始salve,开始同步

mysql>show slave status;  //检测slave状态,如果Slave_IO_Running: Yes    Slave_SQL_Running: Yes    Seconds_Behind_Master: 0就OK了

7.测试

在192.168.1.82上创建test库:create database test;#发现192.168.1.83自动创建了此库;

在192.168.1.82上test库上创建表:create table test(id int);#发现192.168.1.83自动创建了此表;

请看下篇–>mysql使用keepalive实现HA(二)—keepalive部分

remi,epel 的yum 源安装

一直没找到合适的yum源,找到了也不会使用,在今天一不小心删除了四个vm的mysql后,静下心来,终于明白remi源的使用方式,

安装高版本php56,php70,mysql5.7或其他软件高版本,使用remi yum源:
 一.先装epel高版本源,(官网)http://fedoraproject.org/wiki/EPEL寻找,如“If you are running an EL7 version, please visit here to get the newest ‘epel-release’ package for EL7: The newest version of ‘epel-release’ for EL7“,下载7版本(右键点击下划线部分,复制下载链接)
1.$ rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

 二.再安装remi源(信赖epel),(官网)http://rpms.famillecollet.com/中寻找正确地址,如

1.$ sudo rpm import http://rpms.famillecollet.com/RPM-GPG-KEY-remi

2.$ sudo rpm ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

三.查询,默认地,REMI是禁用的。要检查REMI是否已经成功安装,使用这个命令。你会看到几个REMI仓库,比如remi、remi-php55和remi-php56。

1.$ yum repolist disabled | grep remi

四.安装,#vi remi.repo,修改[remi]下的enable=1

如上所述,最好保持禁用REMI仓库,只有在需要的时候再启用。要搜索或安装REMI仓库中的包,使用这些命令:

1.$ sudo yum enablerepo=remi search <keyword>

2.$ sudo yum enablerepo=remi install <packagename>

来源网站:

http://www.linuxidc.com/Linux/2014-11/109240.htm

http://www.linuxidc.com/Linux/2013-05/85078p2.htm

tar.gz,tar.bz2结尾的解压与创建

1.解压: tar  -zxvf  {需要解压的文件名}

例:tar  -zxvf  /usr/local/test.tar.gz  (只能在当前目录解压)

2.创建:tar -zcvf  {创建压缩后的文件名}  {需要压缩的目录}

例:tar -zcvf /usr/local/auto_bak/test.tar.gz  /usr/local/test(可生成在任意目录下文件)

3.压缩到指定目录,加上参数”-P”: tar zcvfP {/data/backup/1.tar.gz} {/var/www/html}
4.压缩时排除文件夹,加上参数”–exclude”,这个很有用,当Upload这样的文件过大时,可以使用这个参数:tar zcvf {/data/backup/1.tar.gz} {/var/www/html} –exclude {/var/www/html/uploads},注意最后的目录不能带”/”,否则不成功.


tar.bz2
1.先安装bzip2:yum -y install bzip2
2.tar 解压:tar jxvf xxx.tar.bz2
3.tar 创建:tar jcvf xxx.tar.bz2

在centos6.5下,svn与nginx结合使用

机子已经装了nginx, 不想再安装apache作为svn作为服务器于是google,信心来自于:http://blog.sina.com.cn/s/blog_40c3ce8601011iel.html

1.安装svn
yum -y install subversion
2nginx的安装:
yum -y install nginx
3.添加svn仓库
svnadmin create /data/svn
4.修改配置
——————-修改配置文件: vi /data/svn/conf/authz ———————
[groups]
admin=test #admin组里的成员
[/]
test = rw #成员对/目录的权限: r读,w写
—————–vi /data/svn/conf/passwd ————————————–
[users]
test = 123456 #用户test的密码
—————–vi /data/svn/conf/svnserve.conf ——————————
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
5.重新启动
svnserve -d -r /data/svn
6.svn仓库地址,只有一个版本库
svn://你机子的IP
注:
1)在IP后无/svn这个明确的库
2)同时不能直接使用多个版本库,如果一定要多个版本库,解决方案:
使用–listen-port参数指定端口,启动多个仓库,
如:svnserve -d -r /data/tmp –listen-port 3691,
在访问时需要带上端口号:svn://你机子的IP:3691
3.也有其他方法解决多库问题

wordpress安装与升级

安装:著名的五分钟安装

  1. 将WordPress压缩包解压至一个空文件夹,并上传它。
  2. 在浏览器中访问wp-admin/install.php。它将帮助您把数据库连接信息写入到wp-config.php文件中。
    1. 如果上述方法无效,也没关系,这很正常。请用文本编辑器(如写字板)手动打开wp-config-sample.php文件,填入数据库信息。
    2. 将文件另存为wp-config.php并上传。
    3. 在浏览器中访问wp-admin/install.php
  3. 在配置文件就绪之后,WordPress会自动尝试建立数据库表。若发生错误,请检查wp-config.php文件中填写的信息是否准确,然后再试。若问题依然存在,请访问中文支持论坛寻求帮助。
  4. 若您不设置密码,请牢记生成的随机密码。若您不输入用户名,用户名将是admin
  5. 完成后,安装向导会带您到登录页面。用刚刚设置的用户名和密码登录。若您使用随机密码,在登录后可以按照页面提示修改密码。

升级

自动升级

若您正在使用WordPress 2.7或以上版本,您可使用内置的自动升级工具进行升级:

  1. 在浏览器中打开wp-admin/update-core.php,按照提示操作。
  2. 还有别的步骤么?——没了!

手动升级

  1. 在升级之前,请确保备份旧有数据以及被您修改过的文件,例如index.php
  2. 删除旧版程序文件,记得备份修改过的内容。
  3. 上传新版程序文件。
  4. 在浏览器中访问/wp-admin/upgrade.php

从其他内容管理系统“搬家”

WordPress支持导入多种系统的数据。请先按照上述步骤安装WordPress,然后您可在后台使用我们提供的导入工具

最低系统需求

  • PHP 5.2.4或更高版本。
  • MySQL 5.0或更高版本。

 

本人安装过程

1.在linux上安装好mysql 并创建好wordpress数据库

2.安装nginx.并调通,可以支持php,phpinfo()可正确显示!

3.上面两项成功后,再按上面的官方教程安装,遇到输入wp-admin/install.php,就会下载此页面的问题而不是执行,本人最后输入的是/index.php来让它自动调转安装的,其他一切顺利!

vsftp安装与使用

wp添加了几个文章分类,但在前台没显示出来,以为是缓存没整好,安装wp super cahce插件,显示需要添加ftp帐号.于是安装ftp软件-vsftpd,以下是安装与配置全文,转自:http://www.cnblogs.com/itech/archive/2012/09/16/2687378.html

1.查看是否安装vsftp,如果出现软件版本名类似vsftpd-2.0.5-21.el5,说明已经成功安装vsftpd
 [root@localhost ~]#rpm -qa | grep vsftpd
  1.1安装vsftp
[root@localhost ~]# yum -y install vsftpd
 2.启动并测试 是否安装成功
 [root@localhost ~]#service vsftpd start
2.1 查看启动状态,如果为
[root@localhost ~]#service vsftpd status
 3,配置vsftpd
3.1查看配置位置:
[root@localhost ~]# whereis vsftpd
 vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
 yum安装的主要目录为上述的3个目录,其中配置文件vsftpd.conf在/etc/vsftpd中,
下面看下怎么配置vsftpd.conf
 # 默认配置文件: /etc/vsftpd.conf
 #     下面是配置的选项及说明
 ######### 核心设置 ###########
 # 允许本地用户登录
 local_enable=YES
 # 本地用户的写权限
 write_enable=YES
 # 使用FTP的本地文件权限,默认为077
 # 一般设置为022
 local_umask=022
 # 切换目录时
 # 是否显示目录下.message的内容
 dirmessage_enable=YES
 dirlist_enable = NO
 #验证方式
 #pam_service_name=vsftpd
 # 启用FTP数据端口的数据连接
 connect_from_port_20=YES
 # 以独立的FTP服务运行
 listen=yes
 ######### 匿名登录设置 ###########
 # 允许匿名登录
 anonymous_enable=NO
 # 如果允许匿名登录
 # 是否开启匿名上传权限
 #anon_upload_enable=YES
 # 如果允许匿名登录
 # 是否允许匿名建立文件夹并在文件夹内上传文件
 #anon_mkdir_write_enable=YES
 # 如果允许匿名登录
 # 匿名帐号可以有删除的权限
 #anon_other_write_enable=yes
 # 如果允许匿名登录
 # 匿名的下载权限
 # 匿名为Other,可设置目录/文件属性控制
 #anon_world_readable_only=no
 # 如果允许匿名登录
 # 限制匿名用户传输速率,单位bite
 #anon_max_rate=30000
 ######### 用户限制设置 ###########
 #### 限制登录
 # 用userlist来限制用户访问
 #userlist_enable=yes
 # 名单中的人不允许访问
 #userlist_deny=no
 # 限制名单文件放置的路径
 #userlist_file=/etc/vsftpd/userlist_deny.chroot
 #### 限制目录
 # 限制所有用户都在家目录
 #chroot_local_user=yes
 # 调用限制在家目录的用户名单
 chroot_list_enable=YES
 # 限制在家目录的用户名单所在路径
 chroot_list_file=/etc/vsftpd/chroot_list
 ######### 日志设置 ###########
 # 日志文件路径设置
 xferlog_file=/var/log/vsftpd.log
 # 激活上传/下载的日志
 xferlog_enable=YES
 # 使用标准的日志格式
 #xferlog_std_format=YES
 ######### 安全设置 ###########
 # 用户空闲超时,单位秒
 #idle_session_timeout=600
 # 数据连接空闲超时,单位秒
 #data_connection_timeout=120
 # 将客户端空闲1分钟后断开
 #accept_timeout=60
 # 中断1分钟后重新连接
 #connect_timeout=60
 # 本地用户传输速率,单位bite
 #local_max_rate=50000
 # FTP的最大连接数
 #max_clients=200
 # 每IP的最大连接数
 #max_per_ip=5
 ######### 被动模式设置 ###########
 # 是否开户被动模式
 pasv_enable=yes
 # 被动模式最小端口
 pasv_min_port=5000
 # 被动模式最大端口
 pasv_max_port=6000
 ######### 其他设置 ###########
 # 欢迎信息
 ftpd_banner=Welcome to Ftp Server!
 4 添加ftp防火墙规则:
 /sbin/iptables -I INPUT -p tcp –dport 21 -j ACCEPT
 /etc/rc.d/init.d/iptables save
 /etc/init.d/iptables restart
 5 添加用户(注意,该处添加nologin类型用户ftpuser)
 [root@localhost ~]#useradd -d /var/www/blog -s /sbin/nologin blog
注:可能这个目录已经存在,会出一个warning警告,不要在意这些细节,也表示已经成功!
 6 .重新启动:
[root@localhost ~]#service vsftpd restart
到此,整个小巧的ftp服务器搭建成功。可以使用FileZilla FTP或FlashFXP等客户端软件登陆ftp server了。