重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
ibdata1 为MySQL的 存放数据的文件。
创新互联公司专业为企业提供斗门网站建设、斗门做网站、斗门网站设计、斗门网站制作等企业网站建设、网页设计与制作、斗门企业网站模板建站服务,10多年斗门做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
在控制面板里已经找不到,注册表里的HEKY_LOCAL_MACHINE,SOFTWARE,mysql删除了
1、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录已删除
2、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录已删除
3、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录已删除
这些我都删除了,为什么我重启后安装还是出现“你已经安装了另一个版本的程序,请先在控制面板添加删除程序中删除”
可以是添加删除程序里确实找不到这些东西了
问题补充 2008-12-02 16:22
我是在C:\WINDOWS\Installer里找到的,太郁闷了,稿半天隐藏了
在你从电脑里卸载旧的MYSQL数据库服务时,首先先在WINDOWS服务里停掉MYSQL的服务。再到控制面板里的增加删除程序内进行删除,但是你并不能完整的把MYSQL服务删除,那么就要在注册表里清除你的MYSQL服务。
有几个地方:
1、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除
2、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除
3、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除
注册表中的ControlSet001,ControlSet002,不一定是001和002,可能是ControlSet005、006之类,删除的时候,都删除就可以
检查C:\WINDOWS目录下是否有my.ini文件,将其删除
如何正确的完全卸载MySQL
MySQL重新安装的时候出现了问题:Could not start the service MySQL. Error:0,原因是没有对旧的MySQL完全卸载掉。
在你从电脑里卸载旧的MYSQL数据库服务时,首先先在WINDOWS服务里停掉MYSQL的服务。再到控制面板里的增加删除程序内进行删除,但是你并不能完整的把MYSQL服务删除,那么就要在注册表里(regedit)清除你的MYSQL服务。有几个地方:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除;
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除;
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除;
如下图所示:
然后重启电脑就可以了。
我怎么觉得你是想查看删除的表呢?如果是表的话只有这么三种情况能恢复了
1 innodb引擎表开启了事务,执行dml语句,比如delete、update、insert之类,并且没有提交即commit操作的话,可以执行rollback进行回滚恢复。如果是ddl操作,如drop、create、alter之类的操作时无效的
2 在进行删除操作之前有备份,比如mysqldump,物理备份数据文件之类的操作,那么可以恢复到删除前的数据
3 如果你的删除操作是直接对data下的文件进行删除,注意,不是粉碎文件操作,那么你可以尝试用磁盘恢复软件来找回被误删的数据文件;
如果你没开启日志记录,就准备哭吧。
想要恢愎数据库以前的资料,执行mysqlshow binlog events;
由于数据量很多,查看起来很麻烦,光打开个文件就要闪半天,所以应该适当删除部分可不用的日志。
并且如果使用的时间足够长的话,会把我的硬盘空间都给吃掉
1、登录系统,/usr/bin/mysql
使用mysql查看日志
mysqlshow binary logs;
+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| ablelee.000001 | 150462942 |
| ablelee.000002 | 120332942 |
| ablelee.000003 | 141462942 |
+—————-+———–+
2、删除bin-log(删除ablelee.000003之前的而没有包含ablelee.000003)
mysql purge binary logs to ′ablelee.000003′;
Query OK, 0 rows affected (0.16 sec)
3、查询结果(现在只有一条记录了)
mysql show binlog events\G
*************************** 1. row ***************************
Log_name: ablelee.000003
Pos: 4
Event_type: Format_desc
Server_id: 1
End_log_pos: 106
Info: Server ver: 5.1.26-rc-log, Binlog ver: 4
1 row in set (0.01 sec)
(ablelee.000001和ablelee.000002已被删除)
mysql show binary logs;
+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| ablelee.000003 | 106 |
+—————-+———–+
1 row in set (0.00 sec)
(删除的其它格式运用!)
PURGE {MASTER | BINARY} LOGS TO ‘log_name’
PURGE {MASTER | BINARY} LOGS BEFORE ‘date’
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件
中的清单中被删除,这样被给定的日志成为第一个。
例如:
PURGE MASTER LOGS TO ‘mysql-bin.010′;
PURGE MASTER LOGS BEFORE ‘2008-06-22 13:00:00′;
清除3天前的 binlog
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);
BEFORE变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式。MASTER和BINARY是同义词。
如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,
而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从
属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。
要清理日志,需按照以下步骤:
1. 在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
2. 使用SHOW MASTER LOGS获得主服务器上的一系列日志。
3. 在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的
最后一个日志。
4. 制作您将要删除的所有日志的备份(这个步骤是自选的,但是建议采用)。
5. 清理所有的日志,但是不包括目标日志。
下面讲一下怎么从二进制文件恢复数据, 假如不小心执行了drop table xxx_db, 假如你保留了完整的二进制日志的话, 先不要冒汗, 这是可以恢复的.
先看看日志
#mysqlbinlog /diskb/bin-logs/xxx_db-bin.000001
找到执行create table xxx_db之后和drop table xxx_db之前的position, 假如是20, 1000
#mysqlbinlog --start-position="4" --stop-position="1000" /diskb/bin-logs/xxx_db-bin.000001 | mysql -u root
伴随着一大堆的ERROR 1062 (23000) at line 12355: Duplicate entry '139' for key 1, 数据库就这样恢复了, 不过--start-position="20"是不行的, 必须从--start-position="4"开始, 为什么要强制从4开始, 这个问题我也暂时没有搞清楚.
还有一种办法是根据日期来恢复
#mysqlbinlog --start-datetime="2009-09-14 0:20:00" --stop-datetim="2009-09-15 01:25:00" /diskb/bin-logs/xxx_db-bin.000001 | mysql -u root
如果create table xxx_db和drop table xxx_db之间的时间相距是一年, 或者在不同的二进制日志中, 且位置相距好远, 就等着失眠吧! 做好备份, 小心操作才是正路啊!
1、双击MySQL数据库的.msi安装文件,进入MySQL安装界面。
2、在MySQL安装界面,点击"Remove MySQL Products"(卸载MySQL产品)。
3、在卸载产品界面,单击"Execute"(执行),弹出是否确认删除窗口,单击"是(Y)"。
4、进入清空现有数据界面,勾选"uninstall the mysql installer"(卸载MySQL安装程序),单击"Finish"完成MySQL数据库的完全卸载。
5、卸载完成后,找到路径为:C:\ProgramData\MySQL(是隐藏文件,需要显示出来) ,手动删除c盘ProgramDate目录中关于MySQL的目录,就删除干净了。
进入“控制面板-管理工具-服务”查看才发现,虽然MYSQL已经卸载了,但是MYSQL服务仍然残留在系统服务里。\x0d\x0a又不想改服务名,改怎么办呢。\x0d\x0a\x0d\x0a只要在CMD里输入一跳命令就可以将服务删除:\x0d\x0a\x0d\x0asc delete mysql //这里的mysql是你要删除的服务名\x0d\x0a\x0d\x0a这样一来服务就被删除了,进入服务里查看确实没有mysql服务了,OK。
判断返回值啊
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。
对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。
非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。很有可能一条查询执行成功了但并未影响到或并未返回任何行。
可以去看下mysql_query()的介绍,希望对你有帮助