SUSE 11 SP3上部署MySQL MHA

SUSE上部署MHA

目录


第1章 准备工作

  • 1.1 服务器版本信息
TEST-108:~ # cat /etc/issue
Welcome to SUSE Linux Enterprise Server 11 SP3  (x86_64) - Kernel \r (\l).

TEST-108:~ # lsb_release -a
LSB Version:    core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64:desktop-4.0-amd64:desktop-4.0-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.2-amd64:graphics-3.2-noarch:graphics-4.0-amd64:graphics-4.0-noarch
Distributor ID: SUSE LINUX
Description:    SUSE Linux Enterprise Server 11 (x86_64)
Release:    11
Codename:   n/a

  • 1.2 系统编码设置
TEST-108:~ # locale                   #<==查看语言环境
LANG=POSIX
LC_CTYPE=zh_CN.UTF-8
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

为方便后期排错,我们将其更改为中文环境。

TEST-108:~ # echo "export LC_ALL="zh_CN.UTF-8"" >>/etc/profile
TEST-108:~ # echo "export LANG="zh_CN.UTF-8"" >>/etc/profile
TEST-108:~ # source /etc/profile
TEST-108:~ # echo $LANG
zh_CN.UTF-8

  • 1.3 查看防火墙状态
TEST-108:~ # chkconfig --list|grep fire
SuSEfirewall2_init        0:off  1:off  2:off  3:off  4:off  5:off  6:off
SuSEfirewall2_setup       0:off  1:off  2:off  3:off  4:off  5:off  6:off

[1] : http://www.wo81.com/tec/os/suse/2014-04-21/129.html SLES 11 SP3防火墙设置
[2] : http://blog.sina.com.cn/s/blog_4761faa40100nr95.html SUSE Linux 关闭防火墙的命令


  • 1.4 关闭SElinux

SUSE Linux 默认不会开启 SELinux
YaST–>系统–>运行级别–>关闭SELinux 即可.
如果你用了内核参数的形式的,必须修改GRUB,在 引导代码后添加:selinux=0

提示:在另外两台机器上也做上述同样的操作。


第2章 安装数据库

  • 2.1 机器规划

本次测试准备了三台SUSE系统的机器,IP地址为:10.0.0.108-10.0.0.110。

角色 IP地址 主机名
MHA manager 10.0.0.110 TEST-110
MySQL master 10.0.0.108 TEST-108
MySQL slave1 10.0.0.109 TEST-109
MySQL slave2 10.0.0.110 TEST-110

  • 2.2 安装MySQL master

2.2.1 创建mysql用户并进入

TEST-108:~ # useradd -m mysql
TEST-108:~ # passwd mysql
Changing password for mysql.
新口令:              #<==mysql
无效的口令:过于简单
重新输入新口令:     #<==mysql
口令已更改。

2.2.2 上传已经准备好的MySQL安装包

首先通过Xftp的方式将rzsz-0.12.20-934.22.x86_64.rpm的rpm包上传并安装,方便后期通过rz、sz命令执行上传和下载的工作。

TEST-108:~ # cd /home/mysql/
TEST-108:/home/mysql # rpm -ivh rzsz-0.12.20-934.22.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:rzsz                   ########################################### [100%]

rzsz-0.12.20-934.22.x86_64.rpm的rpm包百度云分享
链接:http://pan.baidu.com/s/1c1UPRXY 密码:apmh

mysql@TEST-108:~> rz    #<==上传已经打包好的MySQL安装包
mysql@TEST-108:~> ll
-rw-r--r--  1 root  root  323661730  810 18:55 mysql_ok.tar.gz

mysql@TEST-108:~> tar xvf mysql_ok.tar.gz

mysql_ok.tar.gz的tar包百度云分享
链接:http://pan.baidu.com/s/1gf3VFI7 密码:pwk3


2.2.3 修改相关配置文件并启动

mysql@TEST-108:~> cd scripts/
mysql@TEST-108:~/scripts> cat modify_userdir.sh 
#!/bin/sh
userdir="/home/db"        #<==将用户家目录改为/home/mysql
sed -i "s#/usr/local#${userdir}#g"  ${userdir}/dbdata/my.cnf
sed -i "s#/dbdata#${userdir}/dbdata#g" ${userdir}/dbdata/my.cnf
sed -i "s#/home/db#${userdir}#g" ${userdir}/.bash_profile

mysql@TEST-108:~/scripts> sh modify_userdir.sh

修改启动脚本:

mysql@TEST-108:~/scripts> cat start_mysql.sh 
#!/bin/sh
userdir="/home/db"      #<==将用户家目录改为/home/mysql
cd ${userdir}/mysql;./bin/mysqld_safe --defaults-file=${userdir}/dbdata/my.cnf &
mysql@TEST-108:~/scripts> sh start_mysql.sh        #<==启动数据库
mysql@TEST-108:~/scripts> netstat -lntup|grep mysql #<==查看端口
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 :::3307                 :::*                    LISTEN      4442/mysqld         
mysql@TEST-108:~/scripts> mysql -uroot -S /tmp/mysql.sock                                         
                                              #<==进入数据库
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.23-enterprise-commercial-advanced-log MySQL Enterprise Server - Advanced Edition (Commercial)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

  • 2.3 安装MySQL Slave1和MySQL Slave2

提示: 在10.0.0.109和10.0.0.110这两台机器上按上述步骤再分别安装数据库。

2.3.1 启动过程中的错误排查

mysql@TEST-109:~> sh scripts/start_mysql.sh 
mysql@TEST-109:~> 170815 21:24:14 mysqld_safe Logging to '/home/mysql/dbdata/data/mysqld_3307.log'.
170815 21:24:14 mysqld_safe Starting mysqld daemon with databases from /home/mysql/dbdata/data
mysql@TEST-109:~> which mysql
which: no mysql in (/home/mysql/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin)

解决方式:

mysql@TEST-109:~> echo "export PATH=/home/mysql/mysql/bin/:$PATH" >>.bash_profile 
mysql@TEST-109:~> source .bash_profile
mysql@TEST-109:~> which mysql
/home/mysql/mysql/bin/mysql

第3章 数据库主从复制

  • 3.1 准备工作

3.1.1 保证10.0.0.108~10.0.0.110这三台机器的server-id的唯一性。

mysql@TEST-108:~> egrep "server-id|log-bin" dbdata/my.cnf 
log-bin=mysql-bin
server-id = 1
mysql@TEST-109:~> egrep "server-id|log-bin" dbdata/my.cnf
log-bin=mysql-bin
server-id = 2
mysql@TEST-110:~> egrep "server-id|log-bin" dbdata/my.cnf
log-bin=mysql-bin
server-id = 3

3.1.2 保证10.0.0.108~10.0.0.110这三台机器的UUID的唯一性

mysql@TEST-108:~> cat dbdata/data/auto.cnf 
[auto]
server-uuid=f60c196f-4c71-11e6-8558-000c29ba27ff
mysql@TEST-109:~> cat dbdata/data/auto.cnf 
[auto]
server-uuid=f60c196f-4c71-11e6-8558-
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值