linux系统CentOS7安装mysql5.7.27加主从备份(rpm安装版)

该博客详细介绍了如何在Linux CentOS7系统中通过RPM安装MySQL5.7.27,包括卸载已有MySQL、安装依赖、解压安装、解决依赖问题、启动与配置MySQL,以及设置远程访问和防火墙规则。此外,还讲解了如何进行主从备份配置,确保数据库的安全和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux系统CentOS7安装mysql5.7.27加主从备份(rpm安装版)

1.下载mysql5.7的rpm安装包

rpm的mysql包,安装起来简单,解压版的mysql还需要做许多配置,稍有不慎就会出错!!!

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

img

2.上传mysql安装包到系统

这里用的是xshell来连接和上传到服务器;首先安装lrzsz,这样就可以在xshell中拖拽上传了(非必须,只是方便拖拽上传)

[root@localhost src]# yum install lrzsz

进入/usr/local/src 并把mysql5.7的安装包拖拽上传到该目录下(当然上传到其它的目录也可以)

[root@localhost src]# cd /usr/local

3.安装依赖

3.1 查看linux上是否已经安装了mysql,有则卸载。

一般centos7默认安装了mariadb,这里把它卸载。

查看:[root@localhost bin]# rpm -qa|grep mariadb

卸载:[root@localhost bin]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 

查看:   rpm -qa | grep mysql *#查看是否安装了MySQL* 

卸载:rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

查找:whereis mysql

查找:find / -name mysql

使用rm -rf 删除掉所有查找到的mysql文件和目录

3.2 安装mysql5.7所需要的依赖

[root@localhost src]# yum install libaio

[root@localhost src]# yum install perl

[root@localhost src]# yum install net-tools

4.安装mysql5.7

4.1 解压mysql5.7安装包

[root@localhost src]# tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar

解压完后会有很过rpm文件,这些就是我们需要安装的。

image_thumb12

4.2 安装mysql5.7

[root@localhost src]# rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm

[root@localhost src]# rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm

[root@localhost src]# rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm

[root@localhost src]# rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm

MySQL的默认安装位置

1 /var/lib/mysql/               #数据库目录
2 /usr/share/mysql              #配置文件目录
3 /usr/bin                     #相关命令目录
4 /etc/init.d/mysql              #启动脚本

可能报的错:

安装mysql的client过程中提示缺少依赖

rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm

img

解决方案

  • 方案一

yum install libncurses.so.5 libtinfo.so.5(缺啥引啥)

img

  • 方案二

rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm --nodeps --force (加入两个参数,安装时不再分析包之间的依赖关系而直接安装)

再次安装测试

rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm

img

4.3 查看mysql5.7的状态,没有启动则把mysql启动

出现下面这个death就是没有启动,新装的第一次是没有启动的。

image_thumb17

> 查看mysql启动状态
>
> [root@localhost src]# service mysqld status

> 启动mysql    active(running)代表启动成功
>
> [root@localhost src]# service mysqld start

image_thumb19

4.4 修改密码

查看临时密码:得知临时密码就是如图

[root@localhost src]# grep password /var/log/mysqld.log

image_thumb33

用临时密码登录mysql
[root@localhost src]# mysql -uroot –p
修改成新的密码
mysql> set password = password("自己设置一个密码");

4.5 开启远程连接,允许远程连接数据库

*授权远程连接方法一* 

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

'root' 为数据库用户

*授权远程连接方法二* 

mysql> show databases; 

mysql> use mysql; 

mysql> select host, user, authentication_string, plugin from user; 

*修改root用户host值,使root用户可以远程登录* 

mysql> update user set host = "%" where user='root'; 

mysql> select host, user, authentication_string, plugin from user; 

*刷新数据*

mysql> flush privileges;

使用navicat远程连接数据库

在这里插å¥å›¾ç‰‡æè¿°

可能报错:远程连不上可能是防火墙的问题,开发环境可以开放端口,不是开发环境可以关闭防火墙

4.6 配置mysql的配置文件my.cnf(用默认的也行,个人觉得配置一下好一些)

打开配置文件my.cnf

[root@localhost src]# vi /etc/my.cnf

在[mysqld]下面配置几行

lower_case_table_names=1    #配置表名不区分大小写 1:不区分大小写 0:区分大小写 这行必须配置 默认表名是区分大小写的,不利于开发

character-set-server=utf8     #设置为默认编码为utf8

init_connect='SET NAMES utf8'

max_connections=1024       #设置最大连接数

重启mysql 重启配置才能生效

[root@localhost src]# service mysqld restart

my.cnf的配置信息详解

https://www.cnblogs.com/fanggege/p/10856153.html

4.7 防火墙开启端口

到这其实mysql已经安装和配置好,但是centos7的开了防火墙,外面还是访问不到mysql的,所以还要开端口3306(或者把防火墙关掉也行,生产环境勿用)

关闭防火墙

systemctl stop firewalld

至此,centos7下安装mysql5.7完毕.

**注意:**centos7的防火墙变成了firewalld,centos7以前的版本是iptables

5、配置主从备份

为保证数据库的安全和效率,可以使用主从备份,当有写的操作可以在主服务器上操作,操作完之后备份到从服务器上,当有读操作时可以访问从服务器,这样在一定程度上保证了数据库的安全,当主服务器的mysql挂掉之后,数据也不会丢失,同时也提高了数据库的效率。

1.环境

master 192.168.174.129

slave 192.168.174.130

master和slave的防火墙都为关闭状态

2.在master和slave上安装mysql和mysql-server

注:mysql master数据库版本和slave数据库版本要相同,或者slave版本比master高

mysql安装可以yum安装也可以rpm安装,本文为rpm安装

在主服务器和从服务器上打开mysql服务,并设置开机自启

service mysqld restart

chkconfig mysqld on

3.mysql mater配置(主)

打开mysql配置文件/etc/my.cnf,在mysqld下添加

log-bin=mysql-bin   ---------启动二进制日志系统

binlog-do-db=test   ---------要同步的数据库

server-id=1        ---------服务id,主服务器server-id比从服务器server-id小

binlog-ignore-db=mysql ------避免同步mysql用户配置

MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离

重启mysql

service mysqld restart

进入数据库mysql

mysql -u root -p

初始状态mysql默认没有密码,如果要设置密码可以使用mysqladmin -u root -p “password”,设置密码,这样也会更安全一些

MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离

创建一个同步账号,并赋予权限

MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离

查看master的状态信息,记录下file和position的值,在后边的slave配置中会用到

MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离

4.mysql slave配置(从)

打开mysql配置文件/etc/my.cnf,在mysqld下添加

 server-id=2          -------- 服务id,从服务器server-id比主服务器server-id大

 replication-ignore-db=mysql -- 屏蔽对mysql库的同步

 replication-do-db=test  ---------要同步的数据库名,与主服务器配置保持一致

 master-connect-retry=60 --------断点重连时间

 master-host=192.168.174.129

 master-user=test

 master-password=test

 master-port=3306

MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离

进入mysql

mysql -u root -p

停止slave服务:stop slave;

配置slave同步,完成后开启slave服务

change master to master_host='192.168.174.129',master_user='test',master_password='test',master_log_file='mysql-bin.000026',master_log_pos=346;

这里的master_log_file和master_log_pos要和前面记录的file和position一致

MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离

查看slave状态

show slave status\G;

MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离

当两个running都为yes时即配置成功,可以在主服务上对test数据库操作,看是否这些操作会同步到从服务器上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值