MySQL day-35 ( 13.1 设置更改root密码, 连接mysql, mysql常用命令, mysql用户管理, 常用sql语句 ,13.6 mysql数据库备份恢复)

13.1 设置更改root密码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不知道root密码情况下更改root密码
vi /etc/my.conf
在这里插入图片描述
在这里插入图片描述
再次登录就不用密码
在这里插入图片描述

select user,host,password,authentication_string from user;
在这里插入图片描述
设置更改root密码(这个是mysql5.6的方法)
mysql5.7版本或者mariadb10.3用这种方法:
https://blog.51cto.com/13293070/2400944?source=dra
在这里插入图片描述
vi /etc/my.conf
在这里插入图片描述
重启服务

13.2 连接MySQL

在这里插入图片描述
-h 指定远程 mysql数据库的IP -P 指定端口 默认是3306
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.3 MySQL常用命令

在这里插入图片描述
在这里插入图片描述
数据库里面的表
在这里插入图片描述
查看表里面的字段 field 列为字段名字
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在配置文件中定义,可实现永久生效
在这里插入图片描述

查看队列
在这里插入图片描述

13.4 MySQL用户管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

grant select on testdb.* to common_user@’%’
grant insert on testdb.* to common_user@’%’
grant update on testdb.* to common_user@’%’
grant delete on testdb.* to common_user@’%’
或者,用一条 MySQL 命令来替代:

grant select, insert, update, delete on testdb.* to common_user@’%’

二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。

grant 创建、修改、删除 MySQL 数据表结构权限。

grant create on testdb.* to developer@‘192.168.0.%’;
grant alter on testdb.* to developer@‘192.168.0.%’;
grant drop on testdb.* to developer@‘192.168.0.%’;

三,撤消授权
revoke select,update on zrlog.user from ‘user2’@‘192.168.137.132’ (grant 改为revoke to 改为from)

当前是在root身份下,不加指定用户默认是查看自己的授权
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.5 常用sql语句

在这里插入图片描述
select 查找
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据库的两种引擎:myisam 和 innodb
默认是myisam 引擎,特点能够自动统计多少行,查询速度快
innodb 引擎,查询较慢, 尽量减少使用select (*) 语法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

insert 插入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
update 更新
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.6 MySQL数据库备份恢复

在这里插入图片描述
备份库:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
show tables; 查看表, mysql 2 库 跟之前的 mysql 库对比相同

备份表:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

备份所有库:
在这里插入图片描述
less /tmp/mysql_all.sql
/Current Database: 可以查看到所有的库

只备份表结构:
在这里插入图片描述
less /tmp/mysql2.sql 会发现没有插入的语句

总结: -A (备份所有的库 ) -d+库( 备份表结构)
mysql user (备份库里面的表)
mysqldump 针对数据量比较小时备份,当数据量大小几百G或者T时,备份较慢

innobackpex 备份恢复

备份
在这里插入图片描述
在这里插入图片描述
下载rpm包 扩展源,因为epel源里没有这个包
rpm -ivh http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
备份之前需要创建一个有备份权限的用户
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON . TO ‘bfuser’@’%’ identified by ‘bfuser’;
grant process on . to ‘bfuser’@’%’ identified by ‘bfuser’; 还要加process这个权限
在这里插入图片描述
在这里插入图片描述
注意 :1. --defaults-file=/etc/my.cnf 指定mysql的配置文件要放在 innobackupex的后面
2.-S /tmp/mysql.sock 指定mysql.sock 如果不加-S 可以加-h127.0.0.1 如查端口不是3306 还要指定-P
在这里插入图片描述
查看备份文件
在这里插入图片描述
在这里插入图片描述

恢复:
在这里插入图片描述
在这里插入图片描述
第一步:初始化配置文件,实际还没开始恢复
在这里插入图片描述
第二步:恢复数据库
在这里插入图片描述
在这里插入图片描述

innodbacket 增量备份恢复
在这里插入图片描述
在这里插入图片描述
在做一下实验,
在这里插入图片描述
在这里插入图片描述
查看全量备份的文件大小
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
恢复:
在这里插入图片描述
第一次:
在这里插入图片描述
第二次
在这里插入图片描述
第三次出错了,查看还原的目录 /data/mysql/里没有最后增量备份的lalala数据库

重新在来一次
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.全量备份
在这里插入图片描述
在这里插入图片描述
第一次变更
在这里插入图片描述
第一次增量备份
在这里插入图片描述
第二次变更,跟原先目录相比没有了db123, mysql2库

在这里插入图片描述
第二次增量备份
在这里插入图片描述
现MySQL备份目录里文件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
恢复:
全量恢复,并指定输出日志到文件里
在这里插入图片描述
第一次增量备份的恢复
在这里插入图片描述
查出/tmp/1.log
在这里插入图片描述
第二次增量备份的恢复
在这里插入图片描述
还是出错了,原因是: 每二次的增量备份基于第一次的增量备份(不是基于第一次的全量备份)
在这里插入图片描述

第3次重新实验:
重新第二次增量备份
在这里插入图片描述
第二次增量备份恢复
在这里插入图片描述
查看日志没有出错

最后应用正式还原,前面的步骤是在初始化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后查看,数据库目录没有了db123 和mysql2数据库
在这里插入图片描述

总结:
每周周日做全量,剩余六天做增量, 每日在周日的全量的基础上做增量,最后一天实际是增量了7天的数据
恢复的话,只需要恢复最后一次

MariaDB新版本(10.3.x+)的备份和恢复

MariaDB10.3.x及以上的版本用Percona XtraBackup工具会有问题。
原因可能是MariaDB10.3以上版本的redo日志格式和之前不同了。
解决方案是,使用mariabackup,它是MariaDB提供的一个开源工具,用于对InnoDB,Aria和MyISAM表进行物理在线备份。
这个工具是基于Percona的XtraBackup(版本2.3.8)的解决方案:

全量备份:
mariabackup --defaults-file=/etc/my.cnf --backup --user=xxx --password=xxx --target-dir /data/backup/2019-02-21

全量恢复:
停止数据库
清空datadir
mariabackup --prepare --target-dir /data/backup/2019-02-21/
mariabackup --copy-back --target-dir /data/backup/2019-02-21/
改属主、属组
chown -R mysql:mysql /data/mysql
启动

增量备份:
mariabackup --defaults-file=/etc/my.cnf --backup --user=xxx --password=xxx --target-dir /data/backup/2019-02-21
第一个增量:mariabackup --backup --user=xxx --password=xxx --target-dir /data/backup/2019-02-21_inc1 --incremental-basedir /data/backup/2019-02-21
第二个增量:mariabackup --backup --user=xxx --password=xxx --target-dir /data/backup/2019-02-21_inc2 --incremental-basedir /data/backup/2019-02-21_inc1

增量恢复:
停止数据库
清空原数据库文件,最好改名备份 mv
创建新文件名 mysql
先准备全备
mariabackup --prepare --target-dir /data/backup/2019-02-21 --apply-log-only
准备第一个增量:
cd /data/backup
mariabackup --prepare --target-dir ./2019-02-21 --incremental-dir ./2019-02-21_inc1 --apply-log-only
准备第二个增量:
mariabackup --prepare --target-dir ./2019-02-21 --incremental-dir ./2019-02-21_inc2 --apply-log-only
恢复:
mariabackup --copy-back --target-dir ./2019-02-21

改属主、属组
chown -R mysql:mysql /data/mysql
启动服务

https://github.com/aminglinux/linux2019/blob/master/5.49-%E6%95%B0%E6%8D%AE%E5%A4%87%E4%BB%BD.md

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值