[ 2007/08/29 12:50 | by 孤城浪子 ]
几个常用用例:
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
3.导出一个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:backup.sql
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
3.导出一个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:backup.sql
[ 2007/08/24 16:50 | by 孤城浪子 ]
问题: 添加了数据库维护计划后到时间不会自动执行
经检查发现该服务器的SQL SERVER不是已SYSTEM帐户启动的,而是自己建了个帐户,隶属于USERS
解决方法:修改SQL SERVER启动帐户为SYSTEM,对数据库所在分区添加SYSTEM用户完全控制权限,问题解决
注意:SQL SERVER 不能选择 “使用Windows NT纤程”选项,否则添加维护计划时会提示“当SQLServerAgent 正在启动时,无法执行此操作。请稍候再试。" 错误
经检查发现该服务器的SQL SERVER不是已SYSTEM帐户启动的,而是自己建了个帐户,隶属于USERS
解决方法:修改SQL SERVER启动帐户为SYSTEM,对数据库所在分区添加SYSTEM用户完全控制权限,问题解决
注意:SQL SERVER 不能选择 “使用Windows NT纤程”选项,否则添加维护计划时会提示“当SQLServerAgent 正在启动时,无法执行此操作。请稍候再试。" 错误
[ 2007/07/28 15:13 | by 孤城浪子 ]
还在睡觉就接到几个咨询电话,其中一个说数据库满出问题了,没办法,起床,开电脑
提示:
错 误 号:-2147217900
错误描述:未能为数据库 '*****' 中的对象 '*****' 分配空间,因为文件组 'PRIMARY' 已满。
错误来源:Microsoft OLE DB Provider for SQL Server
查看日志:
错误: 1105,严重度: 17,状态: 2
未能为数据库 '****' 中的对象 '(SYSTEM table id: 6)' 分配空间,因为文件组 'PRIMARY' 已满。
检查SQL数据库设置,数据库才用了100M,限制是1G,系统注册用户能正常写入数据库
检查磁盘空间,所有分区都有足够空间
备份数据库也不行,提示磁盘空间不足
查看应用程序日志,发现
E:\MSSQL\Data\******.mdf: 遇到了操作系统错误 112(磁盘空间不足。)
可明明E盘还有几十G空间的,继续找
最后找到问题是SQL运行帐户磁盘配额的问题,汗!
提示:
错 误 号:-2147217900
错误描述:未能为数据库 '*****' 中的对象 '*****' 分配空间,因为文件组 'PRIMARY' 已满。
错误来源:Microsoft OLE DB Provider for SQL Server
查看日志:
错误: 1105,严重度: 17,状态: 2
未能为数据库 '****' 中的对象 '(SYSTEM table id: 6)' 分配空间,因为文件组 'PRIMARY' 已满。
检查SQL数据库设置,数据库才用了100M,限制是1G,系统注册用户能正常写入数据库
检查磁盘空间,所有分区都有足够空间
备份数据库也不行,提示磁盘空间不足
查看应用程序日志,发现
E:\MSSQL\Data\******.mdf: 遇到了操作系统错误 112(磁盘空间不足。)
可明明E盘还有几十G空间的,继续找
最后找到问题是SQL运行帐户磁盘配额的问题,汗!
[ 2007/07/24 10:16 | by 孤城浪子 ]
1.检查你的磁盘剩余空间是否足够,如果没有磁盘剩余空间,则清理磁盘,腾出空间
2.检查你的磁盘分区格式
如果是FAT16,则数据文件最大只能是2G
如果是FAT32,则数据文件最大只能是4G
改为NTFS分区则没有这种限制
3.检查一下你有没有限制数据库文件的大小
企业管理器--右键你的数据库--属性--文件增长限制--如果有限制大小,取消限制
4.检查你的SQL版本,如果你用MSDE,则限制了数据文件最大是2G
5.你也可以为 primary 组添加新的数据文件来解决这个问题
alter database 库名 add file(NAME = 逻辑文件名,FILENAME = 'c:\实际文件名.ndf')
2.检查你的磁盘分区格式
如果是FAT16,则数据文件最大只能是2G
如果是FAT32,则数据文件最大只能是4G
改为NTFS分区则没有这种限制
3.检查一下你有没有限制数据库文件的大小
企业管理器--右键你的数据库--属性--文件增长限制--如果有限制大小,取消限制
4.检查你的SQL版本,如果你用MSDE,则限制了数据文件最大是2G
5.你也可以为 primary 组添加新的数据文件来解决这个问题
alter database 库名 add file(NAME = 逻辑文件名,FILENAME = 'c:\实际文件名.ndf')
[ 2007/07/23 16:46 | by 孤城浪子 ]
1、备分日志:现在时间是2006-11-18 09:47
语句如下:
BACKUP LOG test TO DISK='d:\database\0611180947.logs' WITH INIT
提示:
已处理 4 页,这些页属于数据库 'test' 的文件 'test_log'(位于文件 1 上)。
BACKUP LOG 操作成功地处理了 4 页,花费了 0.104 秒(0.275 MB/秒)。
2、恢复之前数据库备份文件test.bak,使用WITH NORECOVERY参数:
RESTORE DATABASE test from disk='d:\database\test.bak' WITH NORECOVERY
提示:
已处理 216 页,这些页属于数据库 'test' 的文件 'test'(位于文件 1 上)。
已处理 1 页,这些页属于数据库 'test' 的文件 'test_log'(位于文件 1 上)。
RESTORE DATABASE 操作成功地处理了 217 页,花费了 0.352 秒(5.029 MB/秒)。
3、使用日志恢复数据库到时间为2006-11-18 09:43,即恢复09:44分的删除和新增操作
RESTORE LOG test FROM disk='d:\database\0611180947.logs' WITH RECOVERY,STOPAT='11/18/2006 09:43'
提示:
已处理 4 页,这些页属于数据库 'test' 的文件 'test_log'(位于文件 1 上)。
RESTORE LOG 操作成功地处理了 4 页,花费了 0.016 秒(1.792 MB/秒)。
至此,再进入到软件中,可以看到,数据已经还原到原来的状态了