Mysql 安装及配置主从备份

主从备份的意义

它主要是为了读写分离,提高高并发情况下的效率

1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。

2、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。

3、读写分离,使数据库能支撑更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。

Mysql 安装

mysql 的服务器在国外,导致在国内下载速度会很慢,我们可以使用国内的镜像加速。

  1. 华为镜像加速地址 ,https://mirrors.huaweicloud.com/mysql/Downloads/
    选择自己需要的镜像,点击下载

  2. 将文件传到需要部署的服务器,解压放置到安装的目录,将mysql 文件的目录添加到 系统环境变量中 例如:
    E:\software\mysql-5.7.29-winx64\bin

  3. 在mysql文件目录下新建 data、logs文件夹,新建 my.ini文件,文件内容为:

    [mysqld]
    server-id = 1
    log_bin = E:\\software\mysql-5.7.29-winx64\logs\mysql-bin.log
    port = 3306
    basedir= E:\software\mysql-5.7.29-winx64\bin
    datadir= E:\\software\mysql-5.7.29-winx64\data
    max_connections=200
    character-set-server=utf8
    default-storage-engine=INNODB
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    skip-grant-tables
    [mysql]
    default-character-set=utf8
    
  4. 初始化mysql
    mysqld --initialize
    如果报错的话,找不到文件
    在这里插入图片描述
    下载文件,安装上解决问题

    文件下载地址:

  5. 安裝为 mysql 服务
    mysqld -install

  6. 启动mysql 服务
    net start mysql (启动mysql服务)

  7. 登录上修改默认密码

    初始化生成的默认密码在 data 目录下的 xxx.err 文件里,打开文件搜索 root,既可看到随机生成的默认密码
    在这里插入图片描述
    登录数据库,修改密码
    mysql -uroot -p
    flush privileges;
    alter user 'root'@'localhost' identified by 'root';

  8. Mysql 安装完成,另外一台从服务器安装步骤和上面类似,不同点是 my.ini 文件的 server-id = 1 修改为 server-id = 2

配置主从备份

配置主数据库

  1. 创建一个同步用户

    mysql -uroot -p
    
    create user 'test'@'%' identified by '123456'; 
    grant replication slave on *.* to 'test'@'%';  
    
    flush privileges; 
    show master status;
    

    如果 输入 show master status 命令后出现如下页面,就说明主服务器配置完成
    在这里插入图片描述

配置从服务器

  1. 设置连接到master主服务器

    master_host:主服务器Ubuntu的ip地址
    master_log_file: 前面查询到的主服务器日志文件名
    master_log_pos: 前面查询到的主服务器日志文件位置

    change master to master_host='10.211.55.5', master_user='slave', 
    master_password='slave',
    master_log_file='mysql-bin.000006', master_log_pos=590;
    
  2. 开启同步
    start slave

  3. 查看同步状态
    show slave statues \G
    在这里插入图片描述

  4. 测试是否正常联通,在主服务器上新建一个数据库,新建一个表,新建一条记录,然后去从服务器上去查,看时候存在,如果存在就说明配置正常。

    create database test123;
    show databases;
    use test123;
    CREATE TABLE student (id int,name varchar(20));
    show tables;
    

可能出现的问题

修改Mysql root属性让root用户可以远程登录
	mysql>use mysql;   
	mysql>update user set host = '%' where user = 'root';   
	mysql>select host, user from user; 
主从赋值,从机验证报错:ERROR 3021(HY000):this operation cannot be performed with a running salve io thread
1、停止已经启动的绑定

stop slave
2、重置绑定

reset master
3、执行复制主机命令

change master to master_host = '192.168.12.1' 
master_user = 'slave' ,master_password ='123456' ,
master_log_file = 'mysql-bin.000004',master_log_pos = '881'

4、启动复制
start slave
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL主从复制是一项非常常用的高可用性和扩展性解决方案,它可以将一个MySQL服务器(主节点)上的更改同步到一个或多个MySQL服务器(从节点)上,从而实现数据的备份、负载均衡、故障转移等功能。下面是安装配置MySQL主从复制的步骤: 1.安装MySQL 在主节点和从节点上都需要安装MySQL,可以使用以下命令安装: ``` sudo apt-get update sudo apt-get install mysql-server ``` 2.配置主节点 在主节点上,需要对MySQL进行以下配置: - 编辑`/etc/mysql/mysql.conf.d/mysqld.cnf`文件,将`bind-address`改为主节点的IP地址; - 在`[mysqld]`下新增`log-bin=mysql-bin`,表示启用二进制日志; - 在`[mysqld]`下新增`server-id=1`,表示设置主节点的ID为1; - 重启MySQL服务:`sudo service mysql restart`。 3.配置从节点 在从节点上,需要对MySQL进行以下配置: - 编辑`/etc/mysql/mysql.conf.d/mysqld.cnf`文件,将`bind-address`改为从节点的IP地址; - 在`[mysqld]`下新增`server-id=2`,表示设置从节点的ID为2; - 重启MySQL服务:`sudo service mysql restart`。 4.在主节点上创建复制账户 在主节点上,创建一个可以进行复制操作的账户,可以使用以下命令: ``` CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES; ``` 其中,`repl`为账户名,`password`为密码。 5.获取主节点状态 在主节点上,需要获取当前的二进制日志文件名和偏移量,可以使用以下命令: ``` SHOW MASTER STATUS; ``` 记录下`File`和`Position`的值,后面会用到。 6.配置从节点复制信息 在从节点上,需要对复制进行配置,可以使用以下命令: ``` CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', -- 主节点上的File值 MASTER_LOG_POS=1234; -- 主节点上的Position值 ``` 其中,`master_ip`为主节点的IP地址,`repl`和`password`为上一步中创建的账户和密码,`mysql-bin.000001`和`1234`为上一步中获取到的File和Position值。 7.启动从节点复制 在从节点上,使用以下命令启动复制: ``` START SLAVE; ``` 可以使用以下命令检查复制状态: ``` SHOW SLAVE STATUS\G ``` 如果`Slave_IO_Running`和`Slave_SQL_Running`都为`Yes`,则说明复制已经成功启动。 8.测试 在主节点上进行数据变更,可以使用以下命令: ``` USE test; CREATE TABLE t1 (id INT PRIMARY KEY); INSERT INTO t1 VALUES (1), (2), (3); ``` 在从节点上检查是否同步成功: ``` USE test; SELECT * FROM t1; ``` 如果能够看到刚才插入的数据,则说明主从复制已经成功配置。 注意,以上步骤只是一个基本的示例,实际应用中可能还需要进行其他的配置和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值