欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mysql 安装及配置主从备份

程序员文章站 2022-04-09 12:45:22
...

主从备份的意义

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

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

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

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

Mysql 安装

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

  1. 华为镜像加速地址 ,https://mirrors.huaweicloud.com/mysql/Downloads/
    Mysql 安装及配置主从备份

  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
    如果报错的话,找不到文件
    Mysql 安装及配置主从备份
    下载文件,安装上解决问题

    文件下载地址:

  5. 安裝为 mysql 服务
    mysqld -install

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

  7. 登录上修改默认密码

    初始化生成的默认密码在 data 目录下的 xxx.err 文件里,打开文件搜索 root,既可看到随机生成的默认密码
    Mysql 安装及配置主从备份
    登录数据库,修改密码
    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 命令后出现如下页面,就说明主服务器配置完成
    Mysql 安装及配置主从备份

配置从服务器

  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
    Mysql 安装及配置主从备份

  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
相关标签: mysql 主从备份