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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章