
MySQL数据库
通过引导来学习MySQL数据库操作命令,笔记详细到位
秃头呆熊
我,干运维的
展开
-
MySQL数据库主从复制有延迟的原因以及针对优化
1、从库太多导致复制延迟 优化:建议从库数量3-5个为宜2、从库的硬件比主库差 优化:提升硬件性能3、慢SQL语句过多 优化:SQL语句执行时间太长,需要优化SQL,包括建立索引或者采用分库分表等。4、主从复制的设计问题优化:主从复制单线程,可以通过多线程IO方案解决;另外mysql5.6.3支持多线程的IO复制。5、主从之间的网络延迟 优化:尽量采用短的链路,提升端口的带宽6、主库读写压力大 优化:前端加buffer和缓存。主从延迟不同步...原创 2021-01-08 21:22:42 · 712 阅读 · 0 评论 -
主从复制数据不一致是什么导致的
(1)人为原因导致从库与主库数据不一致(从库写入)。(2)主从复制过程中,主库异常宕机。(3)设置了ignore/do/rewrite等replication等规则。(4)binlog非row格式 。(5)异步复制本身不保证,半同步存在提交读的问题,增强半同步起来比较完美。 但对于异常重启(Replication Crash Safe),从库写数据(GTID)的防范,还需要策略来保证。(6)从库中断很久,binlog应用不连续,监控并及时修复主从。(7)从库启用了诸如存储过程,从库禁用存储过程等原创 2021-01-08 20:14:13 · 723 阅读 · 4 评论 -
Mysql数据损坏,如何修复
答:根据不同的引擎来实行不同的方式,当myisam损坏时,可以通过SQL的check table来修复,或者使用myisamchk直接访问表文件来修复myisam表。当innodb数据损坏时,可以先尝试重启mysql服务,不行的话启动的时候附带innodb_force_recovery启动选项,从1开始,一直尝试到6,直到可以启动服务器并访问有问题的表。然后转储到文件,接着删除重创表,最后重启加载文件。...原创 2021-01-08 08:50:52 · 231 阅读 · 0 评论 -
Mysql数据损坏,如何修复
答:根据不同的引擎来实行不同的方式,当myisam损坏时,可以通过SQL的check table来修复,或者使用myisamchk直接访问表文件来修复myisam表。当innodb数据损坏时,可以先尝试重启mysql服务,不行的话启动的时候附带innodb_force_recovery启动选项,从1开始,一直尝试到6,直到可以启动服务器并访问有问题的表。然后转储到文件,接着删除重创表,最后重启加载文件。...原创 2021-01-08 08:10:47 · 281 阅读 · 0 评论 -
MySQL数据库cpu飙升到500%的话,该怎么处理
答:首先使用top命令查看是否是mysql服务占用导致的,如果不是,那就直接杀死,如果是,进入数据库查看是否有高资源的进程,找出消耗高的,再查看原因(执行计划是否准确,index是否缺失,是否是数据量太大)来进行相对应的处理,比如先杀掉,然后调整修改索引等。如果一切正常,消耗资源不多,那就是有大量的接口连进来,然后分析连接数为什么会突然增加,然后进行对应处理,比如限制连接数等。...原创 2021-01-07 16:24:31 · 1171 阅读 · 2 评论 -
说说Mysql数据库索引的应用
答:MySQL数据库索引分为四种,普通索引,唯一索引,主键索引和全文索引。普通索引可重复,用于过滤数据,唯一索引不能重复,主键索引是行唯一标识,不能为空,检索特定数据,较唯一索引更常用。全文索引效率低,常用于全文内容索引。...原创 2021-01-07 16:23:35 · 133 阅读 · 0 评论 -
说说Mysql数据库事务的特性
答:MySQL数据库事务有四个特性,原子性,一致性,隔离性和持续性,原子性是指事务像原子一样是最小的单位,在应用当中,事务不可再分,一致性是说事务执行结果只有对与错两种情况,要么全对,要么全是错误的。隔离性就是指每一个事务都是独立的,互不干扰的。持续性是指事务的持久,即使数据库崩溃也不影响事务的记录保存。...原创 2021-01-07 15:48:40 · 173 阅读 · 1 评论 -
Mysql数据库引擎以及区别
答:有四种引擎,分别是innodb,myisam,memory和archive,innodb存储引擎是数据库默认引擎,也是最常用的,因为它支持事务安全表,支持行锁定和外键,支持崩溃修复和并发控制。Myisam是web和数据仓最常用的存储引擎之一,具有高插入查询速率,空间内存使用率低,但不支持事务。Memory引擎是将所有数据存储在内存中,处理数据速度快,但安全性不高,因此只使用在较小的数据库表当中。Archive用于数据归档,压缩比非常高,不支持索引,不能缓存索引和数据,主要是为了为了提供高速插入压缩功能,原创 2021-01-07 15:48:02 · 251 阅读 · 1 评论 -
关系型数据和非关系型数据库的区别
答:关系型数据库易于维护,使用方便,支持复杂操作,但读写性能较差,灵活度欠佳,处理高并发读写慢,而非关系型数据库格式灵活,读写性能好,扩展性高,并且成本低,但不支持复杂的SQL语言,复杂查询稍欠,无事务处理。...原创 2021-01-07 15:46:38 · 143 阅读 · 0 评论 -
(非)关系型数据库都有哪些
答:常用的关系型数据库有Oracle数据库,企业应用,是一款收费软件,适用于大企业或者大公司。政府等,其次就是MySQL数据库,开源免费,适用于互联网领域,然后就是mariadb数据库,是MySQL数据库的一个分支,最后就是SQL server数据库,适用于部分企业电商,略微过时,是Windows平台软件。非关系型数据库常见的有memcached,开源、高性能和具有分布式内存对象的缓存系统是他的特点,但由于是纯缓存软件,因此一旦重启,数据全部丢失。而Redis系统支持内存缓存、持久化存储和主从集群。最后就原创 2021-01-07 15:45:45 · 3543 阅读 · 0 评论 -
MySQL数据库忘记密码怎么办,本文教你如何解决
1.先注释掉关掉密码强度的那一行代码指令2.关闭MySQL3.# mysqld --skip-grant-tables --user=mysql & //实现mysql登录不需要密码# mysql -urootmysql> UPDATE mysql.user SET authentication_string=password('QianFeng@123') WHERE user='root' AND host='localhsot'; //修改新密码mysql> F原创 2021-01-07 14:47:03 · 131 阅读 · 0 评论 -
MySQL数据库表操作详解步骤
表操作一、添加字段二、修改字段和类型三、数据操作(记录)四、单表查询五、多表查询一、添加字段1.格式alter table 表名 add 字段 类型;添加字段alter table 表名 add (字段 类型,字段 类型,字段 类型…);添加多个字段alter table 表名 add 添加的字段(和类型) after name;添加字段放到name后面alter table 表名 add 添加的字段(和类型) first; 把添加的字段放在第一个2.示例mysql> alter原创 2021-01-07 14:44:26 · 419 阅读 · 0 评论 -
MySQL数据库之表完整性约束实例详解
表完整性约束1.简介2.主键3.auto_increment自增4.unique唯一约束5.null与not null6.指定字符集7.实例---默认约束1.简介1)作用 用于保证数据的完整性和一致性。2)约束条件PRIMARY KEY (PK):标识该字段为该表的主键,可以唯一的标识记录,不可以为空,UNIQUE + NOT NULLFOREIGN KEY (FK):标识该字段为该表的外键,实现表与表之间的关联NULL:标识是否允许为空,默认为NULL。NOT NULL:标识该字段不能原创 2021-01-07 11:58:53 · 1203 阅读 · 0 评论 -
MySQL数据库类型详解
类型目录1.整型2.浮点数类型3.字符串类型4.枚举类型5.日期类型在MySQL数据库管理系统中,可以通过存储引擎来决定表的类型。同时,MySQL数据库管理系统也提供了数据类型决定表存储数据的类型。1.整型1)作用用于存储用户的年龄、游戏的Level、经验值等整数类型。2)分类tinyint smallint mediumint int bigint(极小,小,中,一般,大)3)详解常用为int,这五种表达一样,只是范围不同,类型后面小括号内的数字是显示宽度,其不能限制插入数值的大小原创 2021-01-07 11:47:42 · 433 阅读 · 0 评论 -
MySQL数据库mycat详解及部署mycat实现读写分离
一、定义 在数据库集群架构中,让主库负责处理写入操作,而从库只负责处理select查询,让两者分工明确达到提高数据库整体读写性能。当然,主数据库另外一个功能就是负责将数据变更同步到从库中,也就是写操作。二、优点1.分摊服务器压力,提高机器的系统处理效率。2.在写入不变,大大分摊了读取,提高了系统性能。另外,当读取被分摊后,又间接提高了写入的性能。所以,总体性能提高了。3.增加冗余,提高服务可用性,当一台数据库服务器宕机后可以调整另外一台从库以最快速度恢复服务。三、Mycat—数据库中间件原创 2021-01-06 15:42:47 · 465 阅读 · 0 评论 -
MySQL数据库主从复制详解及实例
主从复制一、定义二、作用三、原理四、GTID复制(基于事务ID复制)1.GTID定义2.工作原理3.部署实例五、Binlog日志主从复制1.环境2.准实验前备工作3.主服务器:4.从服务器:5.测试一、定义 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。二、作用1.做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。2.架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储原创 2021-01-06 13:50:59 · 299 阅读 · 2 评论 -
Linux系统MySQL数据库怎么进行优化调优
一、调优思路1.数据库设计与规划–以后再修该很麻烦,估计数据量,使用什么存储引擎2.数据的应用–怎样取数据,sql语句的优化3.mysql服务优化–内存的使用,磁盘的使用4.操作系统的优化–内核5.升级硬件设备6.创建索引提升查询速度二、引擎1.查看引擎mysql> show engines; //查看版本所支持引擎信息mysql> SHOW VARIABLES LIKE '%storage_engine%'; //查看已有引擎mysql> show crea原创 2021-01-06 11:49:32 · 922 阅读 · 0 评论 -
MySQL数据库备份与恢复详解附实例
数据库数据备份与恢复一、备份作用1.备份2.冗余二、备份内容三、备份类型1.物理备份2.逻辑备份3.区别四、备份工具五、物理备份方式1.完整备份(完全备份)2.增量备份3.差异备份4.小结六、物理备份 percona-xtrabackup (实例)七、逻辑备份 mysqldump八、通过Binlog恢复一、备份作用1.备份 能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方。比如把文件拷贝到U盘里,电脑出故障,数据还在。2.冗余 数据有多份冗余,但不等备份,只能原创 2021-01-06 11:45:14 · 512 阅读 · 0 评论 -
MySQL日志管理详解
日志管理一、类型1.错误日志2.通用查询日志3.二进制日志(bin log)4.中继日志(Relay log)5.慢查询日志(slow log)6.DDL log二、错误日志1.开启bin log日志2.查看3.特点4.删除5.解决Binlog日志不记录insert语句四、慢查询日志1.开启2.验证一、类型1.错误日志 启动,停止,关闭失败报错,安装日志位置 /var/log/mysqld.log,默认开启。2.通用查询日志 所有的查询都记下来,默认关闭,一般不开启。3.二进制日志(bin原创 2021-01-06 10:33:10 · 120 阅读 · 0 评论 -
MySQL数据库权限管理详解
一、用户管理1.本地登录[root@master ~]#mysql -uroot -p'密码'2.远程登录[root@master ~]#mysql -u用户 -p'密码' -h IP -P 端口号 -D数据库 -e 操作 //用户,密码,IP必有,-D是指定数据库,-e是指进入数据库后的操作 二、创建用户1.Create user创建mysql> create user tom@'localhost' identified by 'xxxx@123'; //创建用户t原创 2021-01-06 10:27:24 · 334 阅读 · 0 评论 -
MySQL索引详解
一、索引分类1.普通索引 索引列值可重复,常用于过滤数据。例如,以商品种类作为索引,检索种类 为“手机”的商品。2.唯一索引 索引列值必须唯一,可以为NULL,主要用于标识一列数据不允许重复的特性, 相比主键索引不常用于检索的场景。3.主键索引 索引列值必须唯一,不能为NULL,一个表只能有一个主键索引,是行的唯一 标识,因而其主要用途是检索特定数据。4.全文索引 给每个字段创建索引,效率低,常用于文本中内容的检索。二、索引操作1.创建索引1)普通索引1>创建表时指定原创 2021-01-06 08:45:06 · 262 阅读 · 0 评论 -
SQL语句介绍以及简单实现库操作和表操作
SQL语句一、种类二、增删改查库1.程序连接数据库的文件2.库简介3.操作三、增删改查表一、种类SQL语言(Structured Query Language 即结构化查询语言)主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。DDL语句 数据库定义语言:数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER。DML语句 数据库操纵语言(对记录的操作): 插入数据INSERT、删除数据DELETE、更新数据UPDATE。DCL语句 数据原创 2020-12-26 18:10:08 · 348 阅读 · 2 评论 -
详解数据库存储引擎
数据库存储引擎一、定义二、简介三、种类1.InnobDB存储引擎2.MyISAM存储引擎3.MEMORY内存型引擎4.Archive(归档引擎)四、如何选择引擎五、数据库存储引擎有关命令六、数据库有关名词1.外键2.索引3.行锁定与表锁定4.事务七、事务控制语言(TCL)八、事务的四个条件(ACID)1.原子性2.一致性3.隔离性4.持续性一、定义 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引、锁定等功原创 2020-12-26 18:04:56 · 982 阅读 · 0 评论 -
教你如何编译安装以及yum源安装MySQL软件
MySQL介绍及安装一、MySQL简介二、MySQL类型1.MySQL Community Server2.MySQL Enterprise Edition3.MySQL Cluster三、MySQL安装方式1.yum安装2.编译安装3.二进制安装4.Rpm安装四、MySQL版本号解释1.以 MySQL 5.7.27 这个版本的版本号为例说明每个数字含义。2.什么是SQL五、MySQL安装1.编译安装mysql5.72.Yum安装mysql5.7一、MySQL简介 MySQL是一个关系型数据库管理系原创 2020-12-26 17:01:23 · 128 阅读 · 0 评论 -
从各方面说明数据库,全面讲解数据库是什么以及种类
数据库一、定义二、种类三、生产环境常用数据库1.生产环境主流的关系型数据库2.生产环境主流的非关系型数据库四、关系型数据库五、非关系型数据库1.简介2.种类1)键值(Key-Value)存储数据库2)列存储(Column-Oriented)数据库3)面向文档(Document-Oriented)数据库4)图形(Graph)数据库六、常用关系型数据库管理系统1.Oracle数据库2.MySQL数据库3.Mariadb数据库4.SQLserver数据库七、常用非关系型数据库管理系统1.Memcached(Key原创 2020-12-26 16:46:15 · 669 阅读 · 0 评论