收藏 分销(赏)

MySQL-部署练习-主从部署.doc

上传人:二*** 文档编号:4588042 上传时间:2024-09-30 格式:DOC 页数:26 大小:1,006KB 下载积分:5 金币
下载 相关 举报
MySQL-部署练习-主从部署.doc_第1页
第1页 / 共26页
本文档共26页,全文阅读请下载到手机保存,查看更方便
资源描述
. . . . MySQL 5.6.19 基于RHEL6.4 主从模式部署手册 菜 2014年8月 文档版本 时 间 作 者 容 版 本 2014-08 菜 创建Linux平台下MySQL5.6.19主从安装文档手册 1.0 目录 Install MySQL 5.6.19 on Linux1 文档版本2 一、文档简介4 二、安装须知4 1.操作系统版本4 2.磁盘情况5 3.网络情况5 4.YUM源7 5.防火墙7 三、cmake版本9 四、MySQL安装部署12 1.部署方式12 2.部署步骤12 3.MySQL初始化15 Install MySQL 5.6.19 on Linux 一、文档简介 本文档仅用于学习交流MySQL主从部署相关技术,非商业性文档。 该文档容是关于Linux平台下MySQL源码包安装方法、步骤与相关须知等容,适用于研发人员、运维与现场实施人员参考。 请全文通读后,再进行MySQL安装的相关操作,如安装过程中遇到错误,请先解决错误后,再按顺序进行安装。 二、安装须知 在MySQL安装前,请先以root用户登录操作系统,并确认服务器的网络、磁盘、防火墙、YUM源等信息,以便于顺利的开展安装MySQL的工作。 本次部署为MySQL主从形式,需要在三台服务器上分别进行部署配置。本示例采用两台虚拟机进行部署练习,主从机信息详见下表: Master Slave01 Slave02 IP 192.168.1.81 192.168.1.84 192.168.1.85 ID 81 84 85 1. 操作系统版本 演示安装的操作系统版本: Red Hat Enterprise Linux Server release 6.4 (Santiago) 查看操作系统版本命令:lsb_release –a或 cat /etc/system-release Lsb_release –a 执行结果如以下图所示: cat /etc/system-release 执行结果如以下图所示: 2. 磁盘情况 查看磁盘使用要,MySQL需要至少2G的磁盘空间,若有数据需要写入,请按实际业务量划分存储。 硬盘使用情况查看命令:df–h df –h 执行结果如以下图所示: 通过查询结果得知在“/”目录下,有8.8G的空间,可供使用,本次MySQL将安装在/usr/local下。 3. 网络情况 查看本地IP地址,以保证本机做为MySQL服务器的情况下,其他用户可以访问。 查看本地IP命令:ifconifg Ifconfig 执行结果如以下图所示,本机的IP地址为192.168.1.81, Mask:255.255.255.0 测试192.168.1.81、192.168.1.84和192.168.1.85三台服务器是否可以ping通,为后续部署做准备。执行命令ping 192.168.1.81、ping 192.168.1.84和 192.168.1.85 执行结果如以下图所示 4. YUM源 分别查看192.168.1.81、192.168.1.84和192.168.1.85服务器一下YUM源信息,以方便在安装MySQL相关依赖包时,可以通过YUM顺利解决。 通过查看YUM配置文件来确认YUM源信息,执行命令: vim /etc/yum.repos.d/rhel-source.repo YUM源信息显示,该源所指向本地/mnt文件夹(baseurl=file:///mnt) 查看/mnt 是否有效,验证命令 cd /mnt 或 df –h df –h 执行结果显示 /rhel6.4.iso 挂载在/mnt目录下,即该源有效 5. 防火墙 查看防火墙(iptables)状态,防止因防火墙策略问题导致远程无法本地MySQL情况,本次部署中,192.168.1.81、192.168.1.84和192.168.1.85服务器全部选择关闭防火墙。 查看防火墙壮态命令/etc/init.d/iptables status 执行结果显示 iptables正在工作 关闭防火墙指令/etc/init.d/iptables stop 执行结果如以下图所示 再次执行/etc/init.d/iptables status 执行结果显示防火墙当前已关闭。 为了防止防火墙开机自启动,执行命令chkconfig iptables --list 执行结果显示防火墙为开机启动 关闭防火墙开机启动命令chkconfig iptables off,如执行正确没有信息反馈。 再次查看检查防火墙开机启动状态,执行命令chkconfig iptables –list 执行结果显示,已完全关闭开机防火墙自启动策略。 三、cmake版本 cmake是MySQL安装时所需要的软件,该软件一定要在MySQL前安装。 本次使用的cmake版本为cmake-3.0.0.tar.gz。 1. 解压cmake-3.0.0.tar.gz,执行命令:tar xvf cmake-3.0.0.tar.gz 解压后得到cmake-2.8.12.2文件夹 2. 进入cmake-2.8.12.2文件夹,执行 cd cmake-2.8.12.2 以下图为cmake-2.8.12.2文件夹中容 3. 安装cmake相关依赖包,执行命令: yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make 4. 在cmake-2.8.12.2文件夹中,执行 ./bootstrap 命令 执行结果部分截图如以下图所示 5. 编译cmake源码,执行命令:make 执行结果部分截图如以下图所示 6. 安装cmake,执行命令:make install 执行结果部分截图如以下图所示 7. 查看cmake版本,执行命令:cmake –version 执行结果显示,cmake 安装成功 8. 数据库版本 四、MySQL安装部署 1. 部署方式 本次MySQL采用主从部署方式 2. 部署步骤 1. 创建 mysql 组,执行命令:groupadd mysql 2. 创建 mysql 用户,并加入到mysql组中,执行命令: useradd -M -g mysql -s /sbin/nologin mysql 3. 解压mysql5.6.19压缩包,执行命令:tar xvf mysql-5.6.19.tar.gz 4. 进入mysql-5.6.19 文件夹,执行命令:cd mysql-5.6.19 5. 通过cmake工具来编译MySQL源码,在编译项中添加相关参数。MySQL安装路径为/usr/local/mysql,数据文件路径为/usr/local/mysql/data,监听端口为3306,字符集为utf8等。执行命令: cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DSYSCONFDIR=/etc \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DINSTALL_MANDIR=/usr/share/man \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 执行命令示如以下图所示 执行结果部分截图如以下图所示: 6. 编译MySQL源码,执行命令:make 执行结果部分截图如以下图所示 7. 安装MySQL,执行命令:make install 执行结果部分截图如以下图所示 3. MySQL初始化 1. 改变MySQL工作目录所属,执行命令: chown -R mysql:mysql /usr/local/mysql 2. 进入MySQL工作目录,执行命令:cd /usr/local/mysql 3. 初始化MySQL数据,并指定数据文件位置,执行命令: ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data 执行结果部分截图如以下图所示 执行成功 4. 将my-defaultf文件复制到/etc目录下,并命名为myf,该文件做为MySQL的系统配置文件,执行命令 :cp support-files/my-defaultf /etc/myf 主机(192.168.1.81)更改/etc/myf 配置,要末尾处添加 log-bin=mysql-bin server-id=81 编辑容如以下图所示 从机01(192.168.1.84)更改/etc/myf 配置,要末尾处添加 log-bin=mysql-bin server-id=84 relay_log=mysql-relay-bin log_slave_updates=1 read_only=1 从机02(192.168.1.85)更改/etc/myf 配置,要末尾处添加 log-bin=mysql-bin server-id=85 relay_log=mysql-relay-bin log_slave_updates=1 read_only=1 5. 将MySQL服务加添加到系统中,执行命令: cp support-files/mysql.server /etc/rc.d/init.d/mysqld 6. 改变mysqld的执行权限,执行命令: chmod 755 /etc/rc.d/init.d/mysqld 7. 添加mysqld服务开机启动,执行命令:chkconfig --add mysqld 查看是否执行成功,执行命令:chkconfig --list mysqld 8. 启动MySQL服务,执行命令:service mysqld start或 执行成功截图如以下图所示: 9. 将MySQL相关信息添加到系统环境变量中,执行命令: echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile 10. 刷新系统环境变量,执行命令:source /etc/profile 11. 初始化MySQL管理员密码(密码:123456),执行命令: mysqladmin -uroot password '123456' 12. 以root身份登录分别三台服务器MySQL,执行命令:mysql -uroot -p123456 执行结果如以下图所示: 13. 分别在Master和slave01、slave02数据库中进行配置 主机(192.168.1.81): 1. 设置该节点为master 2. 创建rep1用户,并授予slave相关权限且开放IP围为192.168.1.1至192.168.1.255的访问权限。 3. 让MySQL重新加载权限 执行以下语句(注:“mysql>”“ 为mysql提示符) mysql> reset master; mysql> grant replication slave, replication client on *.* to rep1'192.168.1.%' identified by '1'; mysql> flush privileges; 执行结果如以下图所示: 4. 测试rep1用户在slave01和slave02服务器上是否可以正常登录。 Slave01(192.168.1.84) mysql –urep1 –p1 –h192.168.1.81 Slave02(192.168.1.85) mysql –urep1 –p1 –h192.168.1.81 上图为正常访问截图,如果无法连接,请确认网络与iptables是否已关闭。 slave01 设置master地址、用户、需要同步的master_log_file等信息,以root用户登录,并执行命令如下: mysql> change master to master_host='192.168.1.81', master_user='rep1', master_password='1', master_log_file='mysql-bin.000001', master_log_pos=0; slave02 设置master地址、用户、需要同步的master_log_file等信息,以root用户登录,并执行命令如下: mysql> change master to master_host='192.168.1.81', master_user='rep1', master_password='1', master_log_file='mysql-bin.000001', master_log_pos=0; 5. 在slave01和slave02的mysql中查看slave状态 ,在mysql中执行命令show slave status \G; 执行结果如以下图所示: 6. 分别在slave01和slave02的mysql中启动slave,执行命令start slave; 执行结果如以下图所示: 7. 验证 a) Master(192.168.1.81)以root身份登录mysql,执行命令 mysql –uroot –p1 b) 查看当前数据库,执行命令 show databases; c) 创建新数据库shop,执行命令:create database shop; d) 切换到shop库中,执行命令:use shop; e) 创建一名为product的表,执行命令create table product(id int, name varchar(10)); f) 插入3条数据,执行命令: insert into product values(1, 'apple'); insert into product values(2, 'banana'); insert into product values(2, 'banana'); g) Slave01(192.168.1.84)以root身份登录mysql,执行命令 mysql –uroot –p1 h) 查看当前数据库,执行命令 show databases; i) 切换到shop库中,执行命令:use shop; j) 查询数据produce表中的数据,执行命令: select * from product; 执行结果如以下图所示: k) Slave02(192.168.1.85)以root身份登录mysql,执行命令 mysql –uroot –p1 l) 查看当前数据库,执行命令 show databases; m) 切换到shop库中,执行命令:use shop; n) 查询数据produce表中的数据,执行命令: select * from product; 执行结果如以下图所示: 以上结果验证了,MySQ主从模式成功部署,且数据已完成同步。 8. 一 26 / 26
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服