• 关于

    mysql删除表后

    的搜索结果

问题

RDS for MySQL 删除数据后空间没有减少处理方法

RDS for MySQL 删除数据后空间没有减少,是因为 MySQL delete 删除数据库数据后,空间并不是直接回收的。 1、执行 optimize table 回收空间 注意:opt...
云栖大讲堂 2019-12-01 21:32:28 1772 浏览量 回答数 0

问题

技术运维问题 - MYSQL使用 -RDS for MySQL 删除数据后空间没有减少处理方法

RDS for MySQL 删除数据后空间没有减少,是因为 MySQL delete 删除数据库数据后,空间并不是直接回收的。 1、执行 optimize table 回收空间 注意:o...
李沃晟 2019-12-01 21:42:22 700 浏览量 回答数 0

问题

mysql数据库表自动被删除,什么原因

mysql5.1,执行以下的导入.sql,就会自动删除数据库中表的数据,而且恢复数据后过一段时间还会自动删除表use datebasesource /路径/table.sql求路过的大神指点迷津......
落地花开啦 2019-12-01 19:56:27 2302 浏览量 回答数 1

阿里云试用中心,为您提供0门槛上云实践机会!

100+款试用云产品,最长免费试用12个月!拨打95187-1,咨询专业上云建议!

问题

从表中删除数据行后,MySQL InnoDB无法释放磁盘空间

我有一个使用InnoDB存储引擎的MySQL表;它包含大约2M数据行。当我从表中删除数据行时,它没有释放分配的磁盘空间。运行该optimize table命令后,ibdata1文件的大小也没有减小。...
保持可爱mmm 2020-05-11 17:33:42 0 浏览量 回答数 1

问题

使用MS Access作为MySQL数据库后端的前端有问题吗?

两个用户希望共享最初用MS Access编写的同一个数据库,而不会在单个MDB文件上相互冲突。 我使用其迁移工具包(很有效)将表从简单的MS Access数据库移至MySQL ,并设...
保持可爱mmm 2019-12-01 21:57:56 7 浏览量 回答数 1

回答

和MySQL类似:如果是新表,创建Tabel的时候,设置DEFAULT CHARSET=utf8。如果是已有数据的表,可以参考MySQL的方式,dump后在load,会有一定的停止服务时间。// 使用utf-8的格式导出表 mysqldump --default-character-set=utf8 -t -u root -p $TABLE > $SAVE_PATH/save.sql // 打开save.sql 文件,修改需要改的表结构字符集为utf-8 // 导入新表(老表备份一下,并删除) mysql -u root -p < $SAVE_PATH/save.sql
Zzz 2019-12-02 01:59:52 0 浏览量 回答数 0

问题

mysql中建表出错的问题

环境,Centos5.5x86,MySql版本5.6.12.2,今天下午正在操作mysql,在删除一行数据 保存后突然报1462错误,然后数据库下的这个表就消失了,show table出不来,数据库目录下出现了这个表的ibd文件,怎么都折腾...
落地花开啦 2019-12-01 19:54:12 822 浏览量 回答数 1

回答

两种可能性: 在另一个架构(mysql术语中的“数据库”)中有一个表,该表具有FK参考 innodb内部数据字典与mysql字典不同步。 通过在删除失败后执行“ SHOW ENGINE INNODB STATUS”,可以查看它是哪个表(无论如何是其中之一)。 如果是后一种情况,我将转储并还原整个服务器(如果可以)。 MySQL 5.1及更高版本将为您提供错误消息中带有FK的表的名称。来源:stack overflow
保持可爱mmm 2020-05-17 20:57:06 0 浏览量 回答数 0

回答

1,查看数据库状态 及启动停止 /etc/init.d/mysqld status/etc/init.d/mysqld start/etc/init.d/mysqld stop 2,给用户配置初始密码123456: mysqladmin -u root -password 123456 3,修改root用户密码为 abc123 mysqladmin -u root -p123456 password abc123 4,如果想去掉密码: mysqladmin -u root -pabc123 password "" 5,root连接数据库有密码和无密码: mysql -u root(-uroot) -pmysql 6,增加用户 test1 密码 abc,让它可以在任何主机上登录,并对所有数据库有查询,插入,修改,删除的权限: 格式: grant select on 数据库.* to 用户名@登录主机 identified by "密码"grant select,insert,update,delete on . to test1@"%" Identified by "abc"; 7,使用test1账号从其他主机上登录命令: mysql -h 主机名 -u test1 -pabceg: mysql -h 10.239.48.109 -u test1 -pabc 8,增加一个用户test2,让它只可以在localhost上登录,并可以对数据库mydb进行查询,插入,修改,删除的操作, 这样用户即使使用知道test2的密码,他也无法从internet 上直接访问数据库,只能通过mysql主机上的web页面来访问。grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";grant select,insert,update,delete on mydb.* to test2@localhost identified by ""; 设置无密码 9,显示数据库列表: show databases;use mysql 打开库show tables; 10,表的操作 describle 表名; 显示数据表的结构create database 库名;drop database 库名;create table 表名(字段设定列表)drop table 表名;delete from 表名;清空表记录select * from 表名; 显示表中的记录insert into 表名 values(, ,) alter table 表名 add column <字段名><字段选项> 导出数据: mysqldump --opt test > mysql.test //将数据库test导出到mysql.test文件,后面是一个文本文件mysqldump -u root -p123456 --databases dbname > mysql.dbname //就是把数据库dbname导出到文件mysql.dbname中。 导入数据: mysqlimport -u root -p123456 < mysql.dbname将文本数据导入数据库:文本数据的字段之间用tab键隔开use testload data local infile "文件名" into table 表名;eg: load data local infile "D:/mysql.txt" into table mytable; 导入.sql 文件命令 use databasesource d:/mysql.sql;
蛮大人123 2019-12-02 01:42:52 0 浏览量 回答数 0

问题

MySQL中删除带有索引的字段后索引会自动删除么

MySQL表中加一个字段并添加了Index索引,现在把字段删除后对该字段的索引是否还存在?若存在,后期要怎么删除该索引?ALTER TABLE `mytab` ADD COLUMN `is_export` enum('yes','no')...
蛮大人123 2019-12-01 19:49:27 1839 浏览量 回答数 1

回答

Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。 解决方法是在Mysql中取消外键约束:  SET FOREIGN_KEY_CHECKS=0;   然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql导入, 然后再设置外键约束: SET FOREIGN_KEY_CHECKS=1;  
51干警网 2019-12-02 01:35:29 0 浏览量 回答数 0

问题

如何解决mysql delete表数据后,表空间大小不变的问题?

日积月累的记录表的数据堆积的上千万的数据,把数据放到备份表里后,删除正常表2015年以前的数据后,表的数据少了,但是表空间大小还是没有减少,朋友们,如何解决呢?...
小旋风柴进 2019-12-01 20:15:17 980 浏览量 回答数 1

问题

mysql,明明没有表,建一个表就出错,说表已经存在? 400 报错

mysql,明明没有表,建一个表就出错,说表已经存在? 400 报错 环境,Centos5.5x86,MySql版本5.6.12.2,今天下午正在操作mys...
爱吃鱼的程序员 2020-06-04 15:18:09 2 浏览量 回答数 1

问题

一段时间后如何删除MySQL记录?mysql

我想在7天后从我的MySQL数据库中删除一些消息。 我的消息表行具有以下格式:id | 留言| 日期 日期是标准格式的时间戳。2012-12-29 17:14:53 我当时以为MySQL事件将成为替代cron工作的方式。...
保持可爱mmm 2020-05-17 17:27:16 2 浏览量 回答数 1

问题

mysql可以根据时间自行进行逻辑处理吗

假设现在我建立了一个表,其中一列有一个时间字段,我设置它的到期时间为2015-11-20。我可以通过mysql语句写一个逻辑判断,当服务器日期等于到期时间时,删除该字段,请问可以实现这个功能吗?我现在想到的是利用mysql的动态执行过程进行...
蛮大人123 2019-12-01 19:48:53 1060 浏览量 回答数 1

问题

请教一个问题:Mysql异常关机重启后,抛出10061错误,数据库连不上。每次都要手工处理#Java

请教一个问题:Mysql异常关机重启后,抛出10061错误,数据库连不上。每次都要手工处理 1、修改my.ini,设置innodb_force_recovery=6并重启mys...
黄一刀 2020-08-04 18:22:47 11 浏览量 回答数 1

问题

买的阿里云Mysql RDS 5.7,不小心删除了root某个权限,怎么办?

NO PRIVILEGES原因分析:当前登录账号:[root]不具有查询mysql.user表的权限,因此不能进行数据库用户管理。解法:使用具有权限的账号操作或用超级账号授予账号root对mysql库的所有权或SUPER权限后进行操作。ro...
omygod 2019-12-01 20:13:31 1973 浏览量 回答数 2

问题

数据库误操作,删除了表。现在有凌晨数据库的逻辑备份,和删除表后,停掉库的冷备,包含所有的 wa#PG

数据库误操作,删除了表。现在有凌晨数据库的逻辑备份,和删除表后,停掉库的冷备,包含所有的 wal log ,这种情况,能把数据库恢复到某个点,或者把删除的表...
黄一刀 2020-08-28 22:17:13 3 浏览量 回答数 1

问题

运维分享一一linux系统mysql连接检查脚本

为了便于检查ECS服务器内部搭建的mysql或者RDS的mysql数据库,编写了一个mysql测试脚本,对于不熟悉命令行操作的朋友出现问题时可以检测一下。 脚本仅为个人使用,或存在安全风险&#...
大象吃豆子 2019-12-01 21:07:25 12948 浏览量 回答数 2

问题

求帮忙写段mysql 5.0.8的SQL批量删除某个表下的所有指定内容字符串:报错

网站服务器  nginx/1.2.7  MySQL 客户端版本: mysqlnd 5.0.8  求帮忙写段mysql 5.0.8的SQL批量删除某个表下的所有指定内容字符串的SQL语句  比如 我要删除 ff_vod这个表下面所有vod_...
kun坤 2020-06-09 09:35:31 0 浏览量 回答数 1

问题

删除数据后Mysql我的内存占用为什么没有变化

原本有千万条数据,占用了500M内存现在我把数据迁移走了,这台机器上的整个表都删掉了,但是Mysql的内存占用跟以前差不多重启mysql也没有用重启系统也没用我确定数据已经删掉了请问怎么定位内存使用情况这可能是些原因引起的?环境:阿里云主机...
蛮大人123 2019-12-01 19:53:22 1197 浏览量 回答数 1

问题

#技塑人生# ​阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例

​阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例 阿里云技术支持:完颜镇江 问题现象: 磁盘空间满了,第一想到的就是删除无用的服务日志...
qiujin2012 2019-12-01 21:04:21 11071 浏览量 回答数 4

回答

方法一: 1、打开my.ini文件,找到default-storage-engine=InnoDB这一行,把它改成default-storage-engine=MyISAM。2、删除在MySQL安装目录下的Data目录中的ib_logfile0和ib_logfile1 2 3、找到在配置MySQL服务器时指定的InfoDB目录删除掉ibdata1根据my.ini文件中:#*** INNODB Specific options ***        innodb_data_home_dir="D:/" 4、重新启动MySQL的Service  3 方法二: 重装mysql时,一直提示“无法启动MYSQL服务,错误1067进程意外终止  重启,修复注册表都没什么用, 解决方法: 把windows目录下,my.ini文件删除, 重装mysql,服务启动成功 4 方法三: 1、执行winmysqladmin,生成my.ini文件 2、mysqld -install 启动mysql服务 5 在/bin 目录下依次点击 mysql.exe mysqld.exe mysqld-nt.exe winmysqladmin.exe提示框出现后 直接cancle 掉 然后再点击 winmysqladmin.exe 在右下脚那个小图标上 选择启动服务就可以了。
wangccsy 2019-12-02 00:07:57 0 浏览量 回答数 0

问题

相关wampServer 中MySQL默认字符集设置的问题

在给表中插入中文字符时显示“??”,Google一番后给my.ini的配置文件中增加了默认字符集的配置然后重启MySQL服务,但是无法启动。删除字符集的配置后,MySQL服务可以正常启动。默认server字符集为Latin。client字符...
落地花开啦 2019-12-01 19:54:26 1609 浏览量 回答数 1

回答

Re介绍一下CentOS下MySQL数据库的安装与配置方法 MySQL数据库配置的具体步骤: 1、编辑MySQL的配置文件,使用vi /etc/my.cnf  [root@sample ~]# vi /etc/my.cnf  ← 编辑MySQL的配置文件 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1  ← 找到这一行,在这一行的下面添加新的规则,让MySQL的默认编码为UTF-8 default-character-set = utf8  ← 添加这一行 然后在配置文件的文尾填加如下语句: [mysql] default-character-set = utf8 2、启动MySQL,并让MySQL在系统重新启动后随系统自动启动。 [root@sample ~]# chkconfig mysqld on  ← 设置MySQL服务随系统启动自启动 [root@sample ~]# chkconfig --list mysqld  ← 确认MySQL自启动 mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 如果2--5为on的状态就OK [root@sample ~]# /etc/rc.d/init.d/mysqld start  ← 启动MySQL服务 Initializing MySQL database:         [ OK ] Starting MySQL:              [ OK ] 3、为MySQL的root用户设置密码 [root@sample ~]# mysql -u root  ← 用root用户登录MySQL服务器 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 4.1.20 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> select user,host,password from mysql.user;  ← 查看用户信息 +------+------------------------------+---------------+ | user | host          | password | +------+------------------------------+---------------+ | root | localhost        |       |  ← root密码为空 | root | sample.centospub.com  |       |  ← root密码为空 |   | sample.centospub.com |       | |   | localhost       |       | +------+------------------------------+---------------+ 4 rows in set (0.00 sec) mysql> set password for root@localhost=password('在这里填入root密码');  ← 设置root密码 Query OK, 0 rows affected (0.01 sec) mysql> set password for root@'sample.centospub.com'=password('在这里填入root密码');  ← 设置root密码 Query OK, 0 rows affected (0.01 sec) mysql> select user,host,password from mysql.user;  ← 查看用户信息 +------+--------------------------------+--------------------------+ | user | host          | password     | +------+--------------------------------+--------------------------+ | root | localhost        | 19b68057189b027f |  ← root密码被设置 | root | sample.centospub.com   | 19b68057189b027f |  ← root密码被设置 |    | sample.centospub.com   |          | |    | localhost        |          | +------+--------------------------------+--------------------------+ 4 rows in set (0.01 sec) mysql> exit  ← 退出MySQL服务器 Bye 4、测试一下root密码有没有生效。 [root@sample ~]# mysql -u root  ← 通过空密码用root登录 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)  ← 出现此错误信息说明密码设置成功 [root@localhost ~]# mysql -u root -h sample.centospub.com  ← 通过空密码用root登录 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)  ← 出现此错误信息说明密码设置成功 [root@sample ~]# mysql -u root -p  ← 通过密码用root登录 Enter password:  ← 在这里输入密码 Welcome to the MySQL monitor. Commands end with ; or \g.  ← 确认用密码能够成功登录 Your MySQL connection id is 5 to server version: 4.1.20 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> exit Bye [root@sample ~]# mysql -u root -h sample.centospub.com -p  ← 通过密码用root登录 Enter password:  ← 在这里输入密码 Welcome to the MySQL monitor. Commands end with ; or \g.  ← 确认用密码能够成功登录 Your MySQL connection id is 6 to server version: 4.1.20 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> exit  ← 退出MySQL服务器 Bye 5、删除匿名用户。在MySQL刚刚被安装后,存在用户名、密码为空的用户。这使得数据库服务器有无需密码被登录的可能性。为消除隐患,将匿名用户删除。 [root@sample ~]# mysql -u root -p  ← 通过密码用root登录 Enter password:  ← 在这里输入密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 to server version: 4.1.20 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> select user,host from mysql.user;  ← 查看用户信息 +------+----------------------------+ | user | host         | +------+----------------------------+ |   | localhost       | |   | 127.0.0.1       | | root | localhost       | |   | sample.centospub.com | | root | sample.centospub.com  | +------+----------------------------+ 4 rows in set (0.02 sec) mysql> delete from mysql.user where user='';  ← 删除匿名用户 Query OK, 2 rows affected (0.17 sec) mysql> select user,host from mysql.user;  ← 查看用户信息 +------+----------------------------+ | user | host         | +------+----------------------------+ | root | localhost      | | root | sample.centospub.com | +------+----------------------------+ 2 rows in set (0.00 sec) mysql> exit  ← 退出MySQL服务器 Bye 6、删除测试用数据库。在MySQL被安装后,存在名为test的空数据库,将它删除。这里要注意的是,系统默认的还有一个名为mysql的数据库,它用于系统管理,所以请不要删除。 [root@sample ~]# mysql -u root -p  ← 通过密码用root登录 Enter password:  ← 在这里输入密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 to server version: 4.1.20 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show databases;  ← 查看系统已存在的数据库 +-------------+ | Database | +-------------+ | mysql   | | test   | +------------+ 2 rows in set (0.02 sec) mysql> drop database test;  ← 删除名为test的空数据库 Query OK, 0 rows affected (0.07 sec) mysql> show databases;  ← 查看系统已存在的数据库 +-------------+ | Database | +-------------+ | mysql   |  ← 确认名为test的数据库被删除,已不存在 +-------------+ 1 row in set (0.00 sec) mysql> exit  ← 退出MySQL服务器 Bye ------------------------- Re介绍一下CentOS下MySQL数据库的安装与配置方法 经过上面的安装与配置,MySQL数据库应该可以用了,下面让我们来测一下: 1、包括建立新用户,以及用对关系性数据库进行数据库操作的指令来试着建立数据库及数据表。这里,新建用户以centospub为例。 [root@sample ~]# mysql -u root -p  ← 通过密码用root登录 Enter password:  ← 在这里输入密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 to server version: 4.1.20 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> grant all privileges on test.* to centospub@localhost identified by '在这里定义密码';  ← 建立对test数据库有完全操作权限的名为centospub的用户 Query OK, 0 rows affected (0.03 sec) mysql> select user from mysql.user where user='centospub';  ← 确认centospub用户的存在与否 +---------+ | user  | +---------+ | centospub |  ← 确认centospub已经被建立 +---------+ 1 row in set (0.01 sec) mysql> exit  ← 退出MySQL服务器 Bye [root@sample ~]# mysql -u centospub -p  ← 用新建立的centospub用户登录MySQL服务器 Enter password:  ← 在这里输入密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 to server version: 4.1.20 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database test;  ← 建立名为test的数据库 Query OK, 1 row affected (0.00 sec) mysql> show databases;  ← 查看系统已存在的数据库 +-------------+ | Database | +-------------+ | test    | +-------------+ 1 row in set (0.00 sec) mysql> use test  ← 连接到数据库 Database changed mysql> create table test(num int, name varchar(50));  ← 在数据库中建立表 Query OK, 0 rows affected (0.03 sec) mysql> show tables;  ← 查看数据库中已存在的表 +-------------------+ | Tables_in_test | +-------------------+ | test     | +-------------------+ 1 row in set (0.01 sec) mysql> insert into test values(1,'Hello World!');  ← 插入一个值到表中 Query OK, 1 row affected (0.02 sec) mysql> select * from test;  ← 查看数据库中的表的信息 +------+-------------------+ | num | name      | +------+-------------------+ | 1   | Hello World!  | +------+-------------------+ 1 row in set (0.00 sec) mysql> update test set name='Hello Everyone!';  ← 更新表的信息,赋予新的值 Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from test;  ← 查看数据库中的表的信息 +------+----------------------+ | num | name      | +------+----------------------+ | 1   | Hello Everyone! |  ← 确认被更新到新的值 +------+----------------------+ 1 row in set (0.01 sec) mysql> delete from test where num=1;  ← 删除表内的值 Query OK, 1 row affected (0.00 sec) mysql> select * from test;  ← 确认删除结果 Empty set (0.01 sec) mysql> drop table test;  ← 删除表 Query OK, 0 rows affected (0.01 sec) mysql> show tables;  ← 查看表信息 Empty set (0.00 sec)  ← 确认表已被删除 mysql> drop database test;  ← 删除名为test的数据库 Query OK, 0 rows affected (0.01 sec) mysql> show databases;  ← 查看已存在的数据库 Empty set (0.01 sec)  ← 确认test数据库已被删除(这里非root用户的关系,看不到名为mysql的数据库) mysql> exit  ← 退出MySQL服务器 Bye 2、删除测试用过的遗留用户。(当然,如果是直接建立自己的数据库的,可以省略此步) [root@sample ~]# mysql -u root -p  ← 通过密码用root登录 Enter password:  ← 在这里输入密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 to server version: 4.1.20 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> revoke all privileges on *.* from centospub@localhost;  ← 取消centospub用户对数据库的操作权限 Query OK, 0 rows affected (0.00 sec) mysql> delete from mysql.user where user='centospub' and host='localhost';  ← 删除centospub用户 Query OK, 1 row affected (0.01 sec) mysql> select user from mysql.user where user='centospub';  ← 查找用户centospub,确认已删除与否 Empty set (0.01 sec)  ← 确认centospub用户已不存在 mysql> flush privileges;  ← 刷新,使以上操作生效 Query OK, 0 rows affected (0.01 sec) mysql> exit Bye 3、重新启动一次HTTP服务,让php-mysql反映到HTTP服务中。 [root@sample ~]# /etc/rc.d/init.d/httpd restart  ← 重新启动HTTP服务 Stopping httpd:             [ OK ] Starting httpd:             [ OK ] OK了!经测试,我的网站lunfawang.com   MySQL数据库服务器运行正常! ------------------------- Re介绍一下CentOS下MySQL数据库的安装与配置方法 感谢评分
nnaa_good25 2019-12-02 02:49:28 0 浏览量 回答数 0

问题

请教一下高频率读写的情况下,mysql应该如何优化?

需求是这样的:目前手头项目有个帮用户发送点对点短信的功能,用户一次可能发送几千或上万条短信,服务端接受用户的发送任务后,使用一个待发池慢慢帮用户发。但是页面上用户需要能实时查询短信的发送任务的情况:比如本次发送任务的成功数,失败数,发送任务...
小旋风柴进 2019-12-01 20:13:37 1361 浏览量 回答数 1

问题

mysql删除表中的内容的语句

当把名字传进来后为什么不能删除呢,弹出删除失败。并且数据库以连接。...
吴孟桥 2019-12-01 19:51:59 861 浏览量 回答数 1

回答

增量备份的原理就是使用了mysql的binlog日志。本次操作的MySQL版本为5.5.40 for Linux (x86_64)。增量备份要确保打开了二进制日志,参考mysql的日志系统:mysql> show variables like '%log_bin%';首先对pak数据库做一个完整备份:$ mysqldump -h localhost -upak -ppwd -P3306 --master-data=2 --single-transaction --opt pak > pak_bak_full.sql这时候就会得到一个全备文件pak_bak_full.sql。mysqldump操作会导致滚动一次log,假设新的binlog文件是mysql-bin.000002。模拟插入数据和误操作 在pak库的某个表插入一些数据,然后执行flush logs命令。这时将会产生一个新的二进制日志文件mysql-bin.000003,mysql-bin.000002则保存了全备过后的所有更改,既增加记录的操作也保存在了mysql-bin.00002中。 再在pak库中的t_user表中增加两条记录,然后误删除t_user表。t_user中增加记录的操作和删除表的操作都记录在mysql-bin.000003中。 开始恢复 恢复过程不要记录日志: 首先导入全备数据 我们也可以看到全备时的binlog位置:查看当前所在二进制日志中的位置:根据上面两个position能大概确定需要完整恢复哪几个binlog文件。恢复mysql-bin.000002在待恢复的position或时间点以前、全备以后的binlog需要全部恢复,多个文件以空格隔开此时查询可以得到前两条数据。 恢复部分mysql-bin.000003这个日志中包括了新增记录和误删表两个部分,我们需要恢复到新增记录之后、误删操作以前的位置。如果知道误操作的命令如DROP TABLE,则可以通过下面的方法在binlog文件中找到误操作之前的那个position:(如下面的信息显示,误操作DROP TABLE之前的pos是775,在datetime 141204 15:08:04或pos 882时完成DROP TABLE操作)恢复命令:如果position难以确定,但知道需要恢复到的确切(服务器)时间,也可以使用datetime:如果不是误操作导致的,而是迁移数据库,那么不需要position或datetime,使用所有binlog文件增量恢复即可。 确定恢复成功后记得打开日志记录:报错 unknown variable 'default-character-set=utf8'在使用mysqlbinlog查看二进制日志的时候,提示下面的错误: 原因是在我为了统一mysql客户端到服务端的的字符编码,在/etc/my.cnf文件的[client]、[mysqld]等节加入了default-character-set = utf8,mysqlbinlog会从my.cnf中的[client]读取配置,但奈何mysqlbinlog并不认识这个选项(据说是个bug)导致的。应对这个bug的方法有两个:第一,自然是注释到[client]中的这个字符集配置;第二,改用loose-default-character-set = utf8。在选项前加了loose-,表示当程序不认识此选项时会略过此选项,并给出一个警告。
蛮大人123 2019-12-02 01:44:20 0 浏览量 回答数 0

问题

MYSQL使用(一)

[backcolor=url("]云服务器如何通过内网访问RDS?[backcolor=url("]RDS for MySQL 实现读写分离[backcolor=url("]RD...
云栖大讲堂 2019-12-01 21:47:16 1029 浏览量 回答数 0

问题

mysql使用delete删除大部分数据后空间没相应减少

mysql的一张数据表中存放了一亿多的数据,然后我将15号之前的数据全部都删掉了,但是数据库使用量并没有减少,我们这个是一个日志类的数据表,每天录入的数据比较多,,需要定时清理数据,,但是清理掉的数据所占用的空间不能释放出来的话,,我们的数...
昵称是啥啊 2019-12-01 19:30:41 1268 浏览量 回答数 1

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT 阿里云科技驱动中小企业数字化