MySQL安装、日志与备份还原

目录

一、MySQL安装

1、Linux 在线与离线安装

2、二进制方式安装

二、MySQL日志

三、备份还原

1、备份类型

2、备份案例

2.1 mysqldump+binlog实现完全+增量备份

2.2 binlog gtid

1、 GTID 介绍

2、基于GTID进行查看binlog

3、GTID的幂等性

2.3 mydumper备份数据库

2.4 lvm快照备份


一、MySQL安装

1、Linux 在线与离线安装

在线安装

[root@localhost ~]# dnf install -y mysql-server.x86_64 
[root@localhost ~]# systemctl start mysqld

离线安装

[root@localhost opt]# ll
total 767M
-rw-r--r-- 1 7155 31415  15M Dec 18  2021 mysql-community-client-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415  35M Dec 18  2021 mysql-community-client-debuginfo-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415 2.5M Dec 18  2021 mysql-community-client-plugins-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415 3.0M Dec 18  2021 mysql-community-client-plugins-debuginfo-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415 633K Dec 18  2021 mysql-community-common-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415 3.7M Dec 18  2021 mysql-community-debuginfo-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415  22M Dec 18  2021 mysql-community-debugsource-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415 2.2M Dec 18  2021 mysql-community-devel-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415 2.2M Dec 18  2021 mysql-community-icu-data-files-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415 1.5M Dec 18  2021 mysql-community-libs-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415 3.0M Dec 18  2021 mysql-community-libs-debuginfo-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415  54M Dec 18  2021 mysql-community-server-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415  22M Dec 18  2021 mysql-community-server-debug-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415  99M Dec 18  2021 mysql-community-server-debug-debuginfo-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415 252M Dec 18  2021 mysql-community-server-debuginfo-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415 232M Dec 18  2021 mysql-community-test-8.0.28-1.el8.x86_64.rpm
-rw-r--r-- 1 7155 31415  24M Dec 18  2021 mysql-community-test-debuginfo-8.0.28-1.el8.x86_64.rpm

[root@localhost opt]# dnf install mysql-community-server-8.0.28-1.el8.x86_64.rpm mysql-community-client-8.0.28-1.el8.x86_64.rpm mysql-community-common-8.0.28-1.el8.x86_64.rpm mysql-community-icu-data-files-8.0.28-1.el8.x86_64.rpm mysql-community-client-plugins-8.0.28-1.el8.x86_64.rpm mysql-community-libs-8.0.28-1.el8.x86_64.rpm


[root@localhost ~]# awk '/temporary password/ {print $NF}' /var/log/mysqld.log 
(.c,_%cdK3F(
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# mysqladmin -uroot -p'(.c,_%cdK3F(' password 'MySQL@123'

2、二进制方式安装

Installing MySQL on Unix/Linux Using Generic Binaries

# 获取软件包
[root@localhost ~]# wget -c https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz

[root@localhost ~]# dnf install tar xz -y

# 安装
[root@localhost ~]# groupadd -g 27 -r mysql
[root@localhost ~]# useradd -u 27 -g 27 -c 'MySQL Server' -r -s /sbin/nologin mysql

[root@localhost ~]# tar xf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
[root@localhost ~]# ln -sv /usr/local/mysql-8.0.28-linux-glibc2.12-x86_64/ /usr/local/mysql
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# mkdir mysql-files
[root@localhost mysql]# chown mysql:mysql mysql-files
[root@localhost mysql]# chmod 750 mysql-files
[root@localhost mysql]# bin/mysqld --initialize --user=mysql
[root@localhost mysql]# bin/mysql_ssl_rsa_setup
[root@localhost mysql]# bin/mysqld_safe --user=mysql &

# 配置环境变量
[root@localhost mysql]# vi /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin/

[root@localhost mysql]# source /etc/profile.d/mysql.sh
[root@localhost mysql]# yum install ncurses-compat-libs

# 登录并修改密码
[root@localhost mysql]# mysql -uroot -p'nnr765aXFa)p'
mysql> alter user root@localhost identified by 'MySQL@123';

# 提供服务脚本
停止服务:[root@localhost mysql]# mysqladmin -uroot -p'MySQL@123' shutdown
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld

# 提供配置文件
[root@localhost ~]# scp /etc/my.cnf 172.16.100.23:/etc/
[root@localhost ~]# scp -r /etc/my.cnf.d/ 172.16.100.23:/etc/

# vi /etc/my.cnf
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
socket=/tmp/mysql.sock

log-error=/usr/local/mysql/data/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

二、MySQL日志

MySQL日志

日志类型 MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:

日志文件 记入文件中的信息类型
错误日志 记录启动、运行或停止时出现的问题。
查询日志 记录建立的客户端连接和执行的语句。
二进制日志 记录所有更改数据的语句。主要用于复制和即时点恢复。
慢日志 记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
事务日志 记录InnoDB等支持事务的存储引擎执行事务时产生的日志。

二进制日志:如何删除?

purge

三、备份还原

1、备份类型

热备份、温备份、冷备份 (根据服务器状态)
	热备份:读、写不受影响;
	温备份:仅可以执行读操作;
	冷备份:离线备份;读、写操作均中止;

物理备份与逻辑备份 (从对象来分)
	物理备份:复制数据文件;
	逻辑备份:将数据导出至文本文件中;

完全备份、增量备份、差异备份 (从数据收集来分)
	完全备份:备份全部数据;
	增量备份:仅备份上次完全备份或增量备份以后变化的数据;
	差异备份:仅备份上次完全备份以来变化的数据;

2、备份案例

2.1 mysqldump+binlog实现完全+增量备份

素材准备:

mysql> create database school;
Query OK, 1 row affected (0.01 sec)

mysql> use school
Database changed
mysql> CREATE TABLE `Student` (
    ->   `Sno` int(10) NOT NULL COMMENT '学号',  `Sname` varchar(16) NOT NULL COMMENT '姓名',
    ->   `Ssex` char(2) NOT NULL COMMENT '性别',  `Sage` tinyint(2) NOT NULL DEFAULT '0' COMMENT '学生年龄',
    ->   `Sdept` varchar(16) DEFAULT 'NULL' COMMENT '学生所在系别',  PRIMARY KEY (`Sno`)
    -> ) ;
Query OK, 0 rows affected, 2 warnings (0.09 sec)

mysql> INSERT INTO `Student` VALUES (1, '陆亚', '男', 24, '计算机网络'),(2, 'tom', '男', 26, '英语'),(3, '张阳', '男', 21, '物流管理'), (4, 'alex', '女', 22, '电子商务');
Query OK, 4 rows affected (0.02 sec)
Records: 4  Duplicates: 0  Warnings: 0

完全备份:
[root@localhost mysqlbak]# mysqldump --opt -B school > school.sql

插入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值