資料庫hdb
1. sqlserver2008和sqlserver2012日誌文件過大,有什麼方法清理嗎
清理sql server 2008日誌步驟如下:
1.將資料庫設置成 簡單 模式
選擇要收縮的資料庫,點右鍵 屬性->選項,選擇 簡單模式
2.選擇任務->收縮->文件
3.選擇日誌
或者用如下語句
代碼
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE
GO
USE DNName
GO
DBCC SHRINKFILE (N'LogFileName' , 0,TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL
GO
SQL Server 2000要清理日誌使用的是mp語句,但是在SQL Server2008里,這個語句不管用了,如果日誌文件很大,比如超過1G,就需要截斷一下日誌文件以加快sqlserver的運行速度,在SQL Server2008里,方法改為:
有資料庫 xxdb 在 SQL Server 2008 下,日誌文件已經超過1G。
以往使用BACKUP語句-BACKUP LOG xxdb WITH NO_LOG 已經失效,在查閱 MSDN 之後發現 MS 提供的標准截斷日誌語句已經變為了 「BACKUP LOG 語句不指定 WITH COPY_ONLY」
使用語句 BACKUP LOG xxdb to disk='x:\work\1.bak' 成功將日誌文件備份,並截斷日誌文件。這里x:代表你想要備份文件的盤符。
然後使用 DBCC SHRINKFILE (xxdb_log,10) 收縮日誌文件到 10M
總結:
完整的收縮日誌文件的 T-SQL 語句:
BACKUP LOG xxdb to disk='x:\work\1.bak'
DBCC SHRINKFILE (xxdb_log,10)
GO
--
BACKUP LOG <db_name> to disk=<'backupfilename'>
DBCC SHRINKFILE (<log_filename>,10)
GO
裡面的x:\work是隨意設置的。當然也可以收縮到比如5M或1M。
在用的:
USE[master]
GO
_WAIT
GO
--簡單模式
GO
USEYHDB
GO
DBCCSHRINKFILE(N'YHDB_log', 11,TRUNCATEONLY)
GO
USE[master]
GO
_WAIT
GO
--還原為完全模式
GO
2. linux怎麼備份資料庫(linux如何備份mysql資料庫)
一、使用mysql相關命令進行簡單的本地備份
1mysqllmp命令
mysqlmp是採用SQL級別的備份機制,它將數據表導成SQL腳本文件,在不同的MySQL版本之間升級時相對比較合適,這也是最常用的備份方法。
使用mysqlmp進行備份非常簡單,如果要備份資料庫」db_backup」,使用命令:
#mysqlmp_u-pphpbb_db_backup
還可以使用gzip命令對備份文件進行壓縮:
#mysqlmpdb_backup|gzip
只備份一些頻繁更新的資料庫表中盯李:
##mysqlmpsample_dbarticlescommentslinks
上面則啟的命令會備份articles,comments,和links三個表。
恢復數據使用命令:
#mysql_u-pdb_backup
注意使用這個命令時必須保證資料庫正在運行。
2使用SOURCE語法
其實這不是標準的SQL語法,而是mysql客戶端提供的功能,例如:
#SOURCE/tmp/db_name.sql;
這里需要指定文件的絕對路徑,並且必須是mysqld運行用戶(例如nobody)有許可權讀取的文件。
3備份
只能用於備份MyISAM,並且只能運行在linux和Unix和NetWare系統上。支持一次性拷貝多個資料庫,同時還支持正則表達。以下是幾個例子:
#-h=localhost-u=goodcjh-p=goodcjhdb_name/tmp
(把資料庫目錄db_name拷貝到/tmp下)
注意,想要使用,必須賣遲要有SELECT、RELOAD(要執行FLUSHTABLES)許可權,並且還必須要能夠有讀取datadir/db_name目錄的許可權。
還原資料庫方法:
備份出來的是整個資料庫目錄,使用時可以直接拷貝到mysqld指定的目錄(在這里是/usr/local/mysql/data/)目錄下即可,同時要注意許可權的問題,另外首先應當刪除資料庫舊副本如下例:
#/bin/rm-rf/mysql-backup/**//*old
關閉mysql伺服器、復制文件、查詢啟動mysql伺服器的三個步驟:
#/etc/init.d/mysqldstop
StoppingMySQL:[OK]
#cp-af/mysql-backup/**//*/var/lib/mysql/
#/etc/init.d/mysqldstart
StartingMySQL:[OK]
#chown-Rnobody:nobody/usr/local/mysql/data/(將db_name目錄的屬主改成mysqld運行用戶)
二、使用網路備份
將MYSQL數據放在一台計算機上是不安全的,所以應當把數據備份到區域網中其他Linux計算機中。假設Mysql伺服器IP地址是:192.168.1.3。區域網使用Linux的遠程計算機IP地址是192.168.1.4;類似於windows的網路共享,UNIX(Linux)系統也有自己的網路共享,那就是NFS(網路文件系統),在linux客戶端掛接(mount)NFS磁碟共享之前,必須先配置好NFS服務端。linux系統NFS服務端配置方法如下:
(1)修改/etc/exports,增加共享目錄
/export/home/sunky192.168.1.4(rw)
/export/home/sunky1*(rw)
/export/home/sunky2linux-client(rw)