Linux环境下主从搭建心得(高手勿喷)

一 java环境安装:

1 安装JDK 参考链接地址:https://blog.csdn.net/qq_42815754/article/details/82968464
注:有网情况下直接 yum 一键安装:yum -y list java
(1)首先执行以下命令查看可安装的jdk版本
(2)选择自己需要的jdk版本进行安装,比如这里安装1.8,执行以下命令:yum install -y java-1.8.0-openjdk-devel.x86_64
(3)安装完之后,查看安装的jdk 版本,输入以下指令:Java -version
注:无网情况下:下载安装包上传到系统 jdk-8u181_linux-64.tar.gz
(1)创建一个目录把压缩包上传上去 路径:/data/java
(2)解压压缩包:tar zxvf jdk-8u181_linux-64.tar.gz
(3)配置环境变量:vim /etc/profile <vim 编辑命令> 添加以下信息:
export JAVA_HOME=/data/java/jdk/jdk1.8.0_181
export CLASSPATH= : C L A S S P A T H : :CLASSPATH: :CLASSPATH:JAVA_HOME/lib/
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
注意:第一行的JAVA_HOME=/data/java/jdk/jdk1.8.0_181 此处等号右边的是自己的jdk实际解压目录。如果不是该目录则需要改成自己的实际目录,其他不变。
(4)编辑完之后<shift+i进入编辑模式>,保存并退出<esc退出编辑模式,shift+: wq>保存并退出,然后输入以下指令,刷新环境配置使其生效:source /etc/profile
(5)查看jdk是否安装成功,输入指令java -version即可。
2 安装tomcat参考链接地址:https://blog.csdn.net/a_liuge/article/details/79753429
安装tomcat
(1)先创建java目录,/usr/local/java
mkdir -p /usr/local/java
(2)tomcat需要jdk的支撑,所以在安装tomcat前先检查是否安装了jdk
java -version
java version “1.8.0_162”
(3)下载并上传tomcat安装包到Linux中
(4)将tomcat解压到/usr/local/java中
tar -zxvf apache-tomcat-8.0.50.tar.gz -C /usr/local/java/
(5)设置端口号,使用cd命令切换到tomcat的conf目录
cd /usr/local/java/apache-tomcat-8.0.50/conf
(6)使用vim编辑server.xml文件编辑端口wq保存退出
在这里插入图片描述

(7)设置防火墙开放8080端口
/sbin/iptables/ -I INPUT -p tcp --dport 8080 -j ACCEPT
(8)保存防火墙设置
/etc/rc.d/init.d/iptables save
也可以直接关闭防火墙
service iptables stop
(9)使用cd命令切换到tomcat的bin目录下执行./startup.sh命令启动tomcat
查看tomct 状态:ps -ef |grep tomcat 关闭tomcat:kill+端口号
(10)在浏览器中输入ip地址和端口号如果出现一下界面tomcat就算安装成功了
在这里插入图片描述
二 MySQL 数据库安装:

CentOS6.7安装MySQL5.7.18
(1)上传mysql 离线安装包到服务器上:mysql-5.7.18-linux-glibc2.5-i686.tar.gz
(2)解压到指定的目录下:# tar -zxvf mysql-5.7.18-linux-glibc2.5-i686.tar.gz -C /usr/local
(3)进入到mysql解压目录下文件夹重命名,:mv mysql-5.7.18-linux-glibc2.5-i686 /mysql
(4)新建MySQL用户组和MySQ用户:用户组-- groupadd mysql 用户-- useradd -r -g mysql mysql。
(5)新建数据目录:cd /usr/local/mysql 创建data目录:mkdir data
(6)更改 mysql所有者以及授权:进到local下 chown -R 777 mysql:mysql。 chmod -R 777/mysql。
(7)初始化mysqld 进入到mysql安装目录下:./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data –initialize 注:记录下root的初始密码: 随机生成。
(8)将mysqld添加成服务,并启动它 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 建立mysql默认的配置文件/etc/my.cnf,并添加图片中内容在这里插入图片描述
     vim /etc/my.cnf
  保存并退出my.cnf,启动mysqld
     service mysqld start
    出现如下信息表示启动成功
 在这里插入图片描述
    查看mysql是否启动成功
     ps -ef|grep mysql
    出现如下信息表示启动成功
   在这里插入图片描述
    当然也可以查看mysqld的状态
    service mysqld status
在这里插入图片描述
(9)登录mysql并修改root密码
    cd /usr/local/mysql
     ./bin/mysql -uroot –p
输入初始密码,步骤7中有生成,出现如下信息表示登录成功在这里插入图片描述
    修改root密码
    mysql> SET PASSWORD = PASSWORD(‘123456’);
    mysql> FLUSH PRIVILEGES;
    初次登录没有修改root的密码,操作数据库会出现如下错误提示,那么需要修改root用户的密码
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
(10)设置mysql远程可访问(前提是防火墙必须关闭,chkconfig iptables off:设置自动启动为关闭,service iptables stop:关闭防火墙)
    先登录到mysql
    mysql> use mysql
    mysql> update user set host = ‘192.168.0.4’ where user = ‘root’;
    mysql> FLUSH PRIVILEGES;
    192.168.0.4即是可远程访问本地mysql的远程ip,若想任意ip都能访问本地mysql,那么只需要将192.168.0.4换成%即可
    mysql> update user set host = ‘%’ where user = ‘root’;
三 MySQL主从复制:

1.配置master(主库),master上开启binlog日志 在mysql的目录找到my.cnf文件(没有则新建),配置上如下内容:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
port=3306
log-bin = mysql-bin #[必须]启用二进制日志
server-id = 4 #[必须]服务器唯一ID,默认是1,最好取ip的后3位
expire-logs-days = 7 #只保留7天的二进制日志,以防磁盘被日志占满
binlog-ignore-db = mysql #不备份的数据库
binlog-ignore-db = information_schema
binlog-ignore-db = performation_schema
binlog-ignore-db = sys
binlog-do-db=mybatis #需要做复制的数据库名

测试log_bin是否成功开启
切换进入到mysql su – mysql 输入密码:
mysql> show variables like ‘%log_bin%’;
出现下图,log_bin为ON则表示开启成功,OFF表示开启失败
在这里插入图片描述
2.在master的数据库中建立备份账号:backup为用户名,%表示任何远程地址,如下表示密码为1234的任何远程地址的backup都可以连接master主机 mysql> grant replication slave on . to ‘backup’@’%’ identified by ‘1234’;
mysql> use mysql
mysql> select user,authentication_string,host from user;
可看到我们刚创建的备份账号:
在这里插入图片描述
3.拷贝数据 重启MySQL服务并设置读取锁定:centos 7.8之前版本:net stop MySQL/ net start MySQL。centos 7.8之后版本 mysqladmin -uroot -p+密码 shutdown
登录mysql
  mysql> flush tables with read lock;
    读取锁定的意思是只能读取,不能更新,以便获得一个一致性的快照
    查看主服务器上当前的二进制日志名和偏移量值
    mysql> show master status \G
在这里插入图片描述
  从master导出数据,然后导入到slave中
另外开一个命令窗口,用mysqldump命令进行数据的导出
在这里插入图片描述
 将主库生成的:x.txt拷贝到slave上,然后导入到mysql数据库中,slave上的xxx数据库不存在则先创建,然后再导入
在这里插入图片描述
导出是mysqldump,导入是mysql 注意master 导出时会提示没有读写权限,进入到root用户下:指定目录创建一个txt文件,touch<创建文件>,然后对这个文件授读写权限,转移到相对应的用户下。 Chowm mysql:mysql x.txt。
4.配置slave(从库)slave的配置文件是/etc/my.cnf,不存在则新建,配上如下内容
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
port=3306
log-bin=mysql-bin
server-id=223
重启slave数据库
    # service mysqld restart
   登录slave数据库,并做如下设置
      mysql> stop slave;
      mysql> change master to
master_host=‘192.xxx.x.x’,
 master_user=‘backup’,
 master_password=‘xxxxx’,
master_log_file=‘mysql-bin.000005’,
 master_log_pos=601;
各个参数含义:
master_host 实现复制的主机的IP地址
master_user 实现复制的远程登录master的mysql的用户,在步骤2有设置
master_password 实现复制的远程登录master的mysql的密码,在步骤2有设置
master_log_file 实现复制的binlog日志文件 在步骤3标红的框框中
master_log_pos 实现复制的binlog日志文件的偏移量 在步骤3标红的框框中
mysql> start slave;
查看slave从机的状态
mysql> show slave status \G
在这里插入图片描述
 注:若图中标记的那两项的值为Yes,则表示slave设置成功,如果失败需要检查 从库查找报错原因:eg:mysql> start slave;
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository。报错原因:
从库已经存在之前的relay log
解决方法:
使用RESET SLAVE语句,清除master信息和relay日志的信息,删除所有的relay日志文件,并开始创建一个全新的中继日志
mysql> stop slave;
mysql> reset slave;
5.关闭掉主数据库的读取锁定 mysql> unlock tables;
6.前面没出问题的话,那么master上的数据操作都会同步到slave上
四 Redis安装部署:

1.把源码包上传到服务器,在上传的目录下进行解压:tar -zxvf redis-5.0.0.tar.gz
进入解压后的目录进行编译make,指定目录安装make install 如 /usr/local/redis
cd redis-5.0.0/
make (这里进redis-5.0.0/目录下直接make编译就好了)
make install PREFIX=/usr/local/redis (指定编译路径)
进入安装目录bin下
cd /usr/local/redis/bin
此时的目录结构是这样的
在这里插入图片描述
redis-benchmark redis性能测试工具
redis-check-aof AOF文件修复工具
redis-check-rdb RDB文件修复工具
redis-cli redis命令行客户端
redis.conf redis配置文件
redis-sentinal redis集群管理工具
redis-server redis服务进程
2.前端模式启动:/usr/local/redis/bin/redis-server或 cd /usr/local/redis/bin 运行 ./redis-server。前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,故不推荐使用此方法。
在这里插入图片描述
3.后端模式启动从redis的源码目录中复制redis.conf到redis的安装目录bin下。
cp /root/redis-5.0.0/redis.conf /usr/local/redis/bin
在这里插入图片描述
4.修改配置文件 (是否后台启动)
vim /usr/local/redis/bin/redis.conf
找到 daemonize 按i 进入编辑模式 把no 改为 yes
在这里插入图片描述
按ESC + :wq 保存退出
注:如果需要redis远程连接需要修改 redis.conf 文件
bind 127.0.0.1 注释掉 #bing 127.0.0.1
protected-mode yes 改为:protected-mode no
5.执行如下命令启动redis:
cd /usr/local/redis/bin
启动:./redis-server ./redis.conf
6.查看redis是否启动成功 ps -ef |grep redis 或者ps aux |grep redis
在这里插入图片描述
注:redis默认端口为 6379,可更改redis.conf文件,修改端口号
7.关闭redis
强行终止redis进程可能会导致redis持久化数据丢失。
正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,
命令为:cd /usr/local/redis
./bin/redis-cli shutdown
强行终止redis
pkill redis-server
五 mycat安装部署:

1.主库服务器新建data目录,上传mycat.zip到这个目录,并解压
在这里插入图片描述
2.进入/data/mycat/conf/,编辑schema.xml文件
在这里插入图片描述
3.修改writeHost里的password为主库的root密码,如果数据库端口号不是3306,改成正确端口。
4.修改readHost里host为从库的ip端口号,密码改为从库的密码
5.修改crm的数据库连接配置文件prod-jdbc.properties 修改url为jdbc:mysql://主库ip:8066/crm?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&useLocalSessionState=true
修改username=hwcrm
修改password=69nc1MP4ZPinJIMQ
6.授权 mycat Chmod -R 777 mycat/
7.启动mycat ./mycat start
全局搜索查询命令 :find / -name +搜索文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值