问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL server 新建数据库出错怎么办?

发布网友 发布时间:2022-04-09 12:22

我来回答

6个回答

懂视网 时间:2022-04-09 16:43

下面是网上收集的多种方法,大家可以测试下。
(一)
昨晚浏览自己的Blog的时候,突然发现所有页面都无法显示,到后台查看的时候,发现一个”Table ‘xxx‘ is marked as crashed and should be repaired” 的错误。连忙上网搜索,原来修改这个严重的错误很简单:
1. 进入管理mysql的phpmyadmin
2. 在左则选中自己的数据库
3. 在右则勾选中错误信息中的那个‘xxx‘表
4. 滚动屏幕到下面,有个下拉菜单(With selected:),选择”Repair table”
修改之后,并没有发现有什么数据损失,连忙备份了一份数据库到邮件里面,备份还是很重要的!
(二)
现象:
mysql> use yourealcn
Database changed
mysql> select user,company from biz_user where commend=‘1‘ order by regtime desc,checked desc limit 0,5;
ERROR 145 (HY000): Table ‘./yourealcn/biz_user‘ is marked as crashed and should be repaired
mysql> exit
使用命令myisamchk修复数据库的MYI文件即可
# /usr/local/mysql5/bin/myisamchk -c -r /bak/lib/mysql/yourealcn/biz_user.*
myisamchk: error: ‘/bak/lib/mysql/yourealcn/biz_user.frm‘ is not a MyISAM-table
---------
myisamchk: error: ‘/bak/lib/mysql/yourealcn/biz_user.MYD‘ is not a MyISAM-table
---------
- recovering (with sort) MyISAM-table ‘/bak/lib/mysql/yourealcn/biz_user.MYI‘
Data records: 20414
- Fixing index 1
- Fixing index 2
- Fixing index 3
- Fixing index 4
(三)
Caused by: java.sql.SQLException: Table ‘表名‘ is marked as crashed and should be repaired
解决办法:
./myisamchk -c -r 数据库表MYI文件的路径(例如:/home/mysql/var/crawlerfeedsky/aaaa.MYI)
如果还不行,就-f 强制修复
(四)
今天上服务器一看,发现网页错误,无法连接数据库服务器。mysql服务自己down掉了,然后重新启动服务器,发现网页无法打开,提示: [mysql]Table tblName is marked as crashed and should be repaired
Mysql提示tblName表格已损坏,需要修复,解决方法:
进入到对应的数据库目录:
cd /var/lib/mysql/dbname
使用myisamchk修复:
shell> myisamchk -r tblName
(五)
我用的修复命令是:myisamchk -r bbsthreads
其中bbsthreads是我出问题的表名,当然使用这个命令还得进入mysql你所出问题的数据库的表的存放路径,具体更详细的命令可以看帮助:myisamchk --help;
如果用以上命令你不能解决问题请看后面,后面的内容是我转载的。
我的网站出问题了,访问一看,果然全屏报错,检查mysql日志,错误信息为:
Table ‘.dedecmsv4dede_archives‘ is marked as crashed and should be repaired
提示说cms的文章表dede_archives被标记有问题,需要修复。于是赶快恢复历史数据,上网查找原因。最终将问题解决。解决方法如下:
找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:
myisamchk -c -r ../data/dedecmsv4/dede_archives.MYI
然后myisamchk 工具会帮助你恢复数据表的索引。重新启动mysql,问题解决。
问题分析:
1、错误产生原因,有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说法。还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能导致MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。
问题的编号为145
2、问题解决办法。
当你试图修复一个被破坏的表的问题时,有三种修复类型。如果你得到一个错误信息指出一个临时文件不能建立,删除信息所指出的文件并再试一次--这通常是上一次修复操作遗留下来的。
这三种修复方法如下所示:
% myisamchk --recover --quick /path/to/tblName
% myisamchk --recover /path/to/tblName
% myisamchk --safe-recover /path/to/tblName
第一种是最快的,用来修复最普通的问题;而最后一种是最慢的,用来修复一些其它方法所不能修复的问题。
检查和修复MySQL数据文件
如果上面的方法无法修复一个被损坏的表,在你放弃之前,你还可以试试下面这两个技巧:
如果你怀疑表的索引文件(*.MYI)发生了不可修复的错误,甚至是丢失了这个文件,你可以使用数据文件(*.MYD)和数据格式文件(*.frm)重新生成它。首先制作一个数据文件(tblName.MYD)的拷贝。重启你的MySQL服务并连接到这个服务上,使用下面的命令删除表的内容:
mysql> DELETE FROM tblName;
在删除表的内容的同时,会建立一个新的索引文件。退出登录并重新关闭服务,然后用你刚才保存的数据文件(tblName.MYD)覆盖新的(空)数据文件。最后,使用myisamchk执行标准的修复(上面的第二种方法),根据表的数据的内容和表的格式文件重新生成索引数据。
如果你的表的格式文件(tblName.frm)丢失了或者是发生了不可修复的错误,但是你清楚如何使用相应的CREATE TABLE语句来重新生成这张表,你可以重新生成一个新的.frm文件并和你的数据文件和索引文件(如果索引文件有问题,使用上面的方法重建一个新的)一起使用。首先制作一个数据和索引文件的拷贝,然后删除原来的文件(删除数据目录下有关这个表的所有记录)。
启动MySQL服务并使用当初的CREATE TABLE文件建立一个新的表。新的.frm文件应该可以正常工作了,但是最好你还是执行一下标准的修复(上面的第二种方法)。
3、myisamchk工具介绍(见mysql的官方手册)
可以使用myisamchk实用程序来获得有关数据库表的信息或检查、修复、优化他们。myisamchk适用MyISAM表(对应.MYI和.MYD文件的表)。
调用myisamchk的方法:
shell> myisamchk [options] tbl_name ...
options指定你想让myisamchk做什么。在后面描述它们。还可以通过调用myisamchk --help得到选项列表。
tbl_name是你想要检查或修复的数据库表。如果你不在数据库目录的某处运行myisamchk,你必须指定数据库目录的路径,因为myisamchk不知道你的数据库位于哪儿。实际上,myisamchk不在乎你正在操作的文件是否位于一个数据库目录;你可以将对应于数据库表的文件拷贝到别处并且在那里执行恢复操作。
如果你愿意,可以用myisamchk命令行命名几个表。还可以通过命名索引文件(用“ .MYI”后缀)来指定一个表。它允许你通过使用模式“*.MYI”指定在一个目录所有的表。例如,如果你在数据库目录,可以这样在目录下检查所有的MyISAM表:
shell> myisamchk *.MYI
如果你不在数据库目录下,可通过指定到目录的路径检查所有在那里的表:
shell> myisamchk /path/to/database_dir/*.MYI
你甚至可以通过为MySQL数据目录的路径指定一个通配符来检查所有的数据库中的所有表:
shell> myisamchk /path/to/datadir/*/*.MYI
推荐的快速检查所有MyISAM表的方式是:
shell> myisamchk --silent --fast /path/to/datadir/*/*.MYI
如果你想要检查所有MyISAM表并修复任何破坏的表,可以使用下面的命令:
shell> myisamchk --silent --force --fast --update-state
-O key_buffer=64M -O sort_buffer=64M
-O read_buffer=1M -O write_buffer=1M
/path/to/datadir/*/*.MYI
该命令假定你有大于64MB的自由内存。关于用myisamchk分配内存的详细信息,参见5.9.5.5节,“myisamchk内存使用”。
当你运行myisamchk时,必须确保其它程序不使用表。否则,当你运行myisamchk时,会显示下面的错误消息:
warning: clients are using or haven‘t closed the table properly
这说明你正尝试检查正被另一个还没有关闭文件或已经终止而没有正确地关闭文件的程序(例如mysqld服务器)更新的表。
如果mysqld正在运行,你必须通过FLUSH TABLES强制清空仍然在内存中的任何表修改。当你运行myisamchk时,必须确保其它程序不使用表。避免该问题的最容易的方法是使用CHECK TABLE而不用myisamchk来检查表

数据库出错了怎么办?

标签:reads   --help   feed   ash   war   rds   crash   shel   方式   

热心网友 时间:2022-04-09 13:51

看看当前的登录用户有没有访问model数据库权限,model为模板数据库

热心网友 时间:2022-04-09 15:09

权限不对哈!

热心网友 时间:2022-04-09 16:44

这问题没遇到过,建议你先把数据库分离出来,然来把sql删掉,再重新装一下好了。

热心网友 时间:2022-04-09 18:35

检查是否有足够的权限。问题是访问model数据库的时候没有权限。追问我只是想新建一个数据库,为什么跟model有关?怎样才能让我有权限?

追答model相当于数据库的模板,新建一个数据库的时候会从那个数据库读取。到security roles里面检查你的登录用户是不是有权限。

热心网友 时间:2022-04-09 20:43

这个你可以问我
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
SO2的检验,先将SO2通入溴水,高锰酸钾溶液、品红溶液,有什么现象?除去二 ... 土壤的ph值通常怎样检测? 怎么用ph纸测土壤酸碱值 ph试纸怎么测土壤酸碱度 哪个软件听歌免费 免费听歌软件推荐 音乐播放器哪个好用又免费真正永久免费听歌软件 ...是新手引导界面而不是相应的UG图,必须要在UG软件中才能打开图,这是... 2024浙江大学在职研究生招生方式有哪些? 2025浙大非全日制研究生招生简章汇总 在职研究生非全日制怎么上课的? 怎么更新steam的GTA4 EFLC升级为完全版? dota2里怎么更新steam 无人深空Steam最新测试版如何更新 堕落玩偶steam怎么更新 侠客风云传steam版怎么升级 steam上的游戏买了简化版的怎么升级到高级版的 侠客风云传碧血丹心Steam版怎么更新 steam版更新方法一览 永劫无间steam怎么升级豪华版 steam入了普通版 可以升级成豪华版吗 购买的steam标准版怎么才能换成豪华版 华为手机锁屏时无法接消息,怎么办? 你好,我的手机是华为P20,今天加了个移动卡就出现收发不了短信,请指教? 海报的特点? 代理未成年人存取款代理人需要证明亲子关系吗 实质代理人和代理人的区别是什么? 代理人帮被代理人存款安全吗? 卡罗拉精英版2021款和2020款有什么不一样啊? 2020广州车展 卡罗拉VS轩逸 谁才是家用车的最优解? 卡罗拉2020款上市时间? 现金缴款单上面的代理人是什么意思 至的繁体字怎么写 至繁体字怎么写 至字的繁体字怎么写 清欢渡薄离阮桃在哪里可以看 至字繁体字怎么写 阮清欢出自哪本小说 阮清欢是谁 群仙毕至这四个字写对了吗?是这个毕吗?若是用繁体怎么写? 为什么橙光《朱砂》女主阮清欢最后没有了野心? 到的繁体字 阮籍的《咏怀诗》内涵幽愤,情寄八荒,李白《古风》每得其意放诣。如阮“东园桃与李”,李“桃花开东园”; 阮清欢是什么橙光游戏 谁有橙光游戏朱砂的阮清欢和哥哥的高能隐藏剧情 至死不渝的繁体字怎样写 踏入七桃界是阮不应该什么意思 穿越女尊公主多夫完结女主角名字叫阮沐桃免费 群贤毕至繁体字怎么写 阮陈恩静 全文 阮陈恩静全文阅读 阮清欢啥意思?