mysql查询cp值数据_【mysql】mysql增改查删基本命令以及备份操作

实验环境

虚拟化设备:Esxi6.0

系统:Redhat7

数据库:mariaDB #操作与mysql相同

第18章 使用MariaDB数据库管理系统。

学会用各种姿势备份MySQL数据库

一、初始化mariaDB服务

yum install mariadb mariadb-server -y #在Redhat7中,用yum安装mysql默认安装的就是mariadb

systemctl start mariadb

systemctl enable mariadb

mysql_secure_installation #对数据库进行初始化操作,根据提示选择就好了,root密码初始设置为空,直接回车就好了。

firewall-cmd --permanent --add -service=mysql

firewall-cmd --reload

二、数据库的增改查删等基本操作

1、查

mysql -u root -p #进入数据库

SHOW database; #查看数据库

use mysql; #进入数据表mysql

SELECT * FROM mysql #查看mysql表里的信息(加WHERE 可跟限制条件)

SELECT name,price FROM mybook; #查看mybook表里name和price两项

SELECT * FROM mybook WHERE price>75;

DESCRIBE mysql; #描述表单

2、增

CREATE DATABASE linuxprobe; #创建数据库linuxprobe

CREATE TABLE mybook (name char(15),proce int,pages int); #创建数据包mybook

INSERT INTO mybook(name,price,pages) VALUES('linuxprobe','60','518'); #在数据表mybook添加信息

3、改

UPDATE mybook SET price=55; #修改mybook里price为55

4、删

DELETE FROM mybook; #删除mybook数据表所有数据

DROP DATABASE linuxprobe; #删除数据库linuxprobe

DROP TABLE mybook; #删除数据表mybook

三、数据库的备份及恢复

1、使用CP进行备份

① 准备工作

SHOW DATABASES; #查看当前数据库,得到需要备份的数据库名

USE employees;

SELECT COUNT(*) FROM employees; #查看数据库employees的行数,以便恢复时候确认是否恢复完整。

② 向数据库施加读锁

FLUSH TABLES WITH READ LOCK; #向所有表施加读锁

UNLOCK TABLES; #CP备份完成后,解锁

③备份数据文件

mkdir /backup

cp -a /var/lib/mysql/* /backup #保留权限的拷贝源数据文件

ls /backup

④模拟数据丢失并恢复

rm -rf /var/lib/mysql/* #删除数据库的所有文件

systemctl restart mariadb

SHOW DATABASES; #重启后原数据不存在,mysql自动在/var/lib/mysql/目录下添加了默认文件,所以root可以不用密码进入,并且原来的数据丢失

rm -rf /var/lib/mysql/* #删除默认添加的文件,不然下一步拷贝文件的时候会出现是否overwritte的询问

cp -a /backup/* /var/lib/mysql/ #将备份的数据库文件还原

systemctl restart mariadb

SHOW DATABASES; #数据库已恢复

USE employees;

SELECT COUNT(*) FROM employees; #查看数据表行数没有变化

2、使用mysqldump+复制BINARY LOG备份

通过mysqldump进行一次完全备份, 再修改表中的数据, 然后再通过binary log进行恢复 二进制日志需要在mysql配置文件中添加 log_bin=on 开启

①使用mysqldump备份数据库

mysql -u root -p -e 'SHOW MASTER STATUS' #查看当前二进制文件的状态,并记录positon的数字(即mysql-bin)

mysqldump --all-databases --locak-all-tables > backup.sql #备份数据库到backup.sql文件中

#在主备份后创建一个数据库,用于二进制文件恢复实验

CREATE DATABASE TEST1;

SHOW MASTER STATUS; #记下现在的position

cp /var/lib/mysql/mysql-bin.000003 /root #备份二进制文件

systemctl stop mariadb

rm -rf /var/lib/mysql/* #删除所有数据文件,造成数据丢失情况

systemctl start mariadb

SHOW DATABASES; #查看数据库,发现数据丢失

SET sql_log_bin=OFF; #暂时关闭二进制日志

source backup.sql #恢复数据

SET sql_log_bin=ON; #开启二进制日志

SHOW DATABASESL #数据库恢复,但是缺少主备份后创建的TEST1

mysqlbinlog --start-position=106 --stop-position=191 mysql-bin.000003 | mysql employees #通过二进制日志增量恢复数据

SHOW DATABASES; #TEST1出现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值