mysql数据库

关于mysql 删除数据后物理空间未释放

孤街醉人 提交于 2020-01-09 01:25:07
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小。这是因为删除操作后在数据文件中留下碎片所致。OPTIMIZE TABLE 是指对表进行优化。如果已经删除了表的一大部分数据,或者如果已经对含有可变长度行的表(含有 VARCHAR 、 BLOB 或 TEXT 列的表)进行了很多更改,就应该使用 OPTIMIZE TABLE 命令来进行表优化。这个命令可以将表中的空间碎片进行合并,并且可以消除由于删除或者更新造成的空间浪费 。 OPTIMIZE TABLE 命令只对 MyISAM 、 BDB 和 InnoDB 表起作用 。表优化的工作可以每周或者每月定期执行,对提高表的访问效率有一定的好处,但是需要注意的是,优化表期间会锁定表,所以一定要安排在空闲时段进行。 一,原始数据 mysql> select count(*) as total from ad_visit_history; +---------+ | total | +---------+ | 1187096 | //总共有118万多条数据 +---------+ 1 row in set (0.04 sec) 2,存放在硬盘中的表文件大小 [root@BlackGhost test1]# ls |grep

实例说明optimize table在优化mysql时很重要

浪尽此生 提交于 2020-01-09 01:21:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 实例说明optimize table在优化mysql时很重要 张映 发表于 2011-03-07 分类目录: mysql 今天在看CU的时候,发现有人问有关optimize来表优化的问题,当年因为这个问题,困扰我很长一段时间,今天有空我把这个问题,用实际数据来展示出来,让大家可以亲眼来看看,optimize table的重要作用,而不是似是而非的估计了。 一,原始数据 1,数据量 查看复制打印? mysql> select count(*) as total from ad_visit_history; +---------+ | total | +---------+ | 1187096 | //总共有118万多条数据 +---------+ 1 row in set (0.04 sec) 2,存放在硬盘中的表文件大小 查看复制打印? [root @BlackGhost test1]# ls |grep visit |xargs -i du {} 382020 ad_visit_history.MYD //数据文件占了380M 127116 ad_visit_history.MYI //索引文件占了127M 12 ad_visit_history.frm //结构文件占了12K 3,查看一下索引信息

关于mysql 删除数据后物理空间未释

丶灬走出姿态 提交于 2020-01-09 01:21:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小。这是因为删除操作后在数据文件中留下碎片所致。OPTIMIZE TABLE 是指对表进行优化。如果已经删除了表的一大部分数据,或者如果已经对含有可变长度行的表(含有 VARCHAR 、 BLOB 或 TEXT 列的表)进行了很多更改,就应该使用 OPTIMIZE TABLE 命令来进行表优化。这个命令可以将表中的空间碎片进行合并,并且可以消除由于删除或者更新造成的空间浪费 。 OPTIMIZE TABLE 命令只对 MyISAM 、 BDB 和 InnoDB 表起作用 。表优化的工作可以每周或者每月定期执行,对提高表的访问效率有一定的好处,但是需要注意的是,优化表期间会锁定表,所以一定要安排在空闲时段进行。 一,原始数据 mysql> select count(*) as total from ad_visit_history; +---------+ | total | +---------+ | 1187096 | //总共有118万多条数据 +---------+ 1 row in set ( 0.04 sec) 2,存放在硬盘中的表文件大小 [root @BlackGhost test1]# ls |grep

使用xtrabackup进行mysql数据库备份

流过昼夜 提交于 2020-01-09 01:10:31
xtrabackup是一种支持InnoDB和xtradb存储引擎的的物理备份工具,它有以下几个特点:   (1) 备份过程快速、可靠;   (2) 备份过程不会打断正在执行的事务;   (3) 能够基于压缩等功能节约磁盘空间和流量;   (4) 自动实现备份检验;   (5) 还原速度快。 需要安装的软件包: percona-xtrabackup可以从官网https://www.percona.com/software/mysql-database/percona-xtrabackup获取相应版本 xtrabackup备份策略: 一、完全备份 xtrabackupex --user=DBUSER --passwd=DBUSERPASSWD /path/to/backup_dir/ 使用 innobakupex 备份时,它会调用 xtrabackup 备份所有的 InnoDB 表,复制所有关于表结构定义的相关文件 (.frm) 、以及 MyISAM 、 MERGE 、 CSV 和 ARCHIVE 表的相关文件,同时还会备份触发器和数据库配置信息相关的文件。这些文件会被保存至一个以时间命名的目录中。 在备份的同时, innobackupex 还会在备份目录中创建如下文件: (1)xtrabackup_checkpoints —— 备份类型(如完全或增量)、备份状态(如是否已经为

Centos7.6安装mysql8.0

夙愿已清 提交于 2020-01-08 23:54:47
一、 yum安装步骤 1、Centos7.6 默认安装了mariadb数据库,这里把他移除: rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64 2、添加MySQL Yum存储库 wget https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm rpm -Uvh mysql80-community-release-el7-3.noarch.rpm yum localinstall mysql80-community-release-el7-3.noarch.rpm 3、 问题解决:Delta RPMs disabled because /usr/bin/applydeltarpm not installed. yum provides '*/applydeltarpm' yum install deltarpm -y 4、安装数据库 yum install mysql-community-server -y 5、启动测试: service mysqld start service mysqld status 二、二进制包安装 1、下载安装文件 mysql-8.0.18-linux-glibc2.12-x86_64

day01: //MySQL数据库服务+基本指令+数据类型

做~自己de王妃 提交于 2020-01-08 23:18:33
文章目录 一.数据库服务 1.数据库 2.常用软件SQL & NOSQL 3.术语 4.MySQL 二.构建Mysql服务器 1.基础环境 2.步骤 01.安装mysql软件包 02.启动mysqld服务 03.mysql主要参数 04.配置MySQL管理员(默认root)密码 三.Mysql数据库基本管理 1.数据库操作基本流程 2.数据库指令练习 四.Mysql数据类型 1.数据类型 2.字符类型 3.数值类型 4.日期时间类型 5.枚举类型(选择类型) 一.数据库服务 1.数据库 CPU—>内存—>磁盘—>数据库 存放数据的数据: 元数据metadata(数据的描述信息) 2.常用软件SQL & NOSQL 主流操作系统: Unix、Linux、Windows SQL: 关系型数据库 MySQL、Oracle、SQL server、DB2 NOSQL: 基于内存的数据库 Redis、Memcached、Mongodb 3.术语 DB:数据库 DBMS:数据库管理系统 DBS:数据库系统(DB+DBMS) 4.MySQL Mysql: -应用最广泛的开源数据库软件 -适用于 中小规模、关系型数据库 系统 -应用于: LAMP或LNMP平台 Mariadb: -为应付MySQL可能会闭源的风险而诞生 -与mysql保持最大程度兼容 二.构建Mysql服务器 1.基础环境 主机名称

MySQL系列(七)--SQL优化的步骤

自闭症网瘾萝莉.ら 提交于 2020-01-08 21:52:16
  前面讲了如何设计数据库表结构、存储引擎、索引优化等内存,这篇文章会讲述如何进行SQL优化,也是面试中关于数据库肯定会被问到的, 这些内容不仅仅是为了面试,更重要的是付诸实践,最终用到工作当中   之前的MySQL内存地址: MySQL系列内容 如何获取存在性能的SQL: 1、通过生产环境用户、测试人员反馈的应用响应速度较慢,可能就是SQL性能较差导致的 2、通过慢查询日志获取 3、实时获取存在性能问题的SQL MySQL慢查日志: 参数:   1、slow_query_log  是否启动慢查询日志,默认不开启,on/off,动态参数,运行时通过set global slow_query_log=on设置,也可以 通过脚本定时开关   2、slow_query_log_file  日志存储和数据存储的文件名和路径,最好是自己设置,而不是默认,日志和数据文件要区分开   3、long_query_time  慢查询日志SQL执行时间的阈值,单位s,默认10s,超过这个执行时间的SQL都会被记录下来,无论是查询还是修改, 还是记录已经回滚的SQL,最大精确到微妙ms,可以设置为1s比较合适   4、log_queries_not_using_indexes  是否记录未使用索引的SQL 设置参数:   1、my.cnf,永久生效   2、通过SET GLOBAL设置参数,例如SET

SQLyog 报错2058 :连接 mysql 8.0.11 解决方法

≯℡__Kan透↙ 提交于 2020-01-08 21:08:20
# 1.配置新连接报错:错误号码 2058,分析是 mysql 密码加密方法变了。如图: 2.解决办法: 1.登录到mysql控制台,登录你的 mysql 数据库,如图: 2.然后 执行这条SQL: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 注:password 是你自己设置的root密码 然后在重新配置SQLyog的连接,则可连接成功了,OK。 来源: CSDN 作者: NineSunTec 链接: https://blog.csdn.net/zhiyikeji/article/details/103889091

处理MySQL数据库出现大量Locked的一个案例

跟風遠走 提交于 2020-01-08 20:56:02
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> MySQL在使用过程中遇到访问速度慢,或者无法响应这类的问题,解决方式基本都有定式,一般第一反应都会是登录到MySQL, show processlist看看当前连接状态。 虽说简单,但show processlist显示的信息确实是相当有用,有一回,三思收到反馈说MySQL查询很慢,于是,赶紧登录到mysql中,执行show processlist查看当前连接信息: mysql> show processlist; +--------+-------------+--------------------+-------+---------+-------+----------------------------------+----------------------------------------------------------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +--------+-------------+--------------------+-------+---------+-------+----------------------------------

mysql 8.0.16的安装

僤鯓⒐⒋嵵緔 提交于 2020-01-08 19:00:54
1.下载mysql8.0.16(已解压) 链接:https://pan.baidu.com/s/1-1T0ZAc_HGkMTYxQZx1jtw 提取码:n15e 2.配置初始化的my.ini文件的文件 解压后的目录并没有的my.ini文件,自行创建在安装根目录下添加的my.ini(新建文本文件,将文件类型改为的.ini),写入基本配置: [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:\mysql\mysql-8.0.16-winx64\mysql-8.0.16-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\mysql\mysql-8.0.16-winx64\mysql-8.0.16-winx64\Data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。 max_connect_errors=10 # 服务端使用的字符集默认为utf8mb4 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_native_password default_authentication