導航:首頁 > 操作系統 > linuxmysql備份表

linuxmysql備份表

發布時間:2023-01-05 21:54:43

① 如何在linux下實現mysql資料庫每天自動備份

1、你的表都是myisam,且訪問量少,可以考慮直接用linux的cp命復,定時復制;
2、你的表都是myisam,有一定的訪問量,可以考慮mysqlhot,mysql自帶;
3、你的表有innodb,訪問量少,可以考慮mysqlmp,mysql自帶;
4、你的表有innodb,訪問量大,可以考慮xtrabackup,第三方軟體,自行度娘;
5、你的表訪問量極大,要求高可用,那你要請DBA定製了;

② linux下mysql資料庫備份工具有哪些

命令行 mysqlmp
網頁phpmyadmin

③ LINUX下如何直接對MYSQL資料庫進行備份

MYSQL提供了數據導入與導出的兩個命令,分別是mysqlimport(導入)和
mysqlmp(導出或者轉儲)。詳細用法請網路一下。

④ 如何備份linux下的mysql資料庫

1. 寫個自動備份的腳本autobackup.sh,內容如下#!/bin/bashmysqlmp -p databasename > mydata.sql2. 更改其為可執行文件 chmod +x autobackup.sh3. 通過crontab讓系統自動運行這個腳本就好了,如crontab -e0 0 * * * /路徑到/autobackup.sh第一個0表示分鍾,第二個0表示0小時也就是零辰第三個*表示每天,第四個*表示每月,第五個*表示每周

⑤ linux怎麼備份資料庫

一、 使用mysql相關命令進行簡單的本地備份

1 mysqllmp命令

mysqlmp 是採用SQL級別的備份機制,它將數據表導成 SQL 腳本文件,在不同的 MySQL 版本之間升級時相對比較合適,這也是最常用的備份方法。

使用 mysqlmp進行備份非常簡單,如果要備份資料庫」 db_backup 」,使用命令:
#mysqlmp –u -p phpbb_db_backup > /usr/backups/mysql/db_backup2008-1-6.sql
還可以使用gzip命令對備份文件進行壓縮
#mysqlmp db_backup | gzip > /usr/backups/mysql/ db_backup2008-1-6.sql.gz (備份後生成的sql不含建庫語句!)
只備份一些頻繁更新的資料庫表:
## mysqlmp sample_db articles comments links > /usr/backups/mysql/sample_db.art_comm_lin.2008-1-6.sql
上面的命令會備份articles, comments, 和links 三個表。

恢復數據使用命令:
#mysql –u -p db_backup </usr/backups/mysql/ db_backup2008-1-6.sql
注意使用這個命令時必須保證資料庫正在運行。

2 使用 SOURCE 語法

其實這不是標準的 SQL 語法,而是 mysql 客戶端提供的功能,例如:
# SOURCE /tmp/db_name.sql;
這里需要指定文件的絕對路徑,並且必須是 mysqld 運行用戶(例如 nobody)有許可權讀取的文件。

3 mysqlhot備份

mysqlhot 只能用於備份 MyISAM,並且只能運行在 linux 和Unix 和 NetWare 系統上。mysqlhot 支持一次性拷貝多個資料庫,同時還支持正則表達。以下是幾個例子:
#mysqlhot -h=localhost -u=goodcjh -p=goodcjh db_name /tmp
(把資料庫目錄 db_name 拷貝到 /tmp 下)
注意,想要使用 mysqlhot,必須要有 SELECT、RELOAD(要執行 FLUSH TABLES) 許可權,並且還必須要能夠有讀取 datadir/db_name 目錄的許可權。

還原資料庫方法:

mysqlhot 備份出來的是整個資料庫目錄,使用時可以直接拷貝到 mysqld 指定的 目錄 (在這里是 /usr/local/mysql/data/)目錄下即可,同時要注意許可權的問題,另外首先應當刪除資料庫舊副本如下例:

# /bin/rm -rf /mysql-backup/**//*old
關閉mysql 伺服器、復制文件、查詢啟動mysql伺服器的三個步驟:
# /etc/init.d/mysqld stop
Stopping MySQL: [ OK ]
# cp -af /mysql-backup/**//* /var/lib/mysql /
# /etc/init.d/mysqld start
Starting MySQL: [ OK ]
#chown -R nobody: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/sunky 192.168.1.4(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)

⑥ linux下mysql自動備份資料庫與自動刪除臨時文件

一、每日23:00自動刪除臨時文件
首先查看一下crontab的任務列表:
crontab
-l
然後新建:
crontab
-e
添加一行:
00
03
*
*
*
rm
-rf
/www/cmstest/my120/public/scripts/jpgraph/*
保存退出。
重啟服務:
/etc/rc.d/init.d/crond
restart
二、每日24:00自動備份資料庫
利用系統crontab來定時執行備份文件,按日期對備份結果進行保存,達到備份的目的。
1、創建保存備份文件的路徑/mysqldata
#mkdir
/mysqldata
2、創建/usr/sbin/bakmysql文件
查找資料庫庫文件的路徑:
一般都是:/var/lib/mysql,或者,/usr/local/mysql/var
查找方法:
1、/usr/local/mysql/bin/mysql
-u
root
-p
進入資料庫
2、輸入:show
databases;
3、這是可以查看到所有的資料庫,然後
4、find
/
-name
db(你想查找的資料庫名)
之後:#vi
/usr/sbin/bakmysql
輸入
復制代碼
代碼如下:
rq=`
date
+%Y%m%d
`
tar
zcvf
/mysqldata/mysql$rq.tar.gz
/var/lib/mysql
3、修改文件屬性,使其可執行
#
chmod
+x
/usr/sbin/bakmysql
新建任務:
首先查看一下crontab的任務列表:
crontab
-l
然後新建:
crontab
-e
添加一行
00
04
*
*
*
/usr/sbin/bakmysql
表示每天24點鍾執行備份
4、重新啟動crond
#
/etc/rc.d/init.d/crond
restart
此後每天就可以在/mysqldata中看到類似下的文件了:mysql20040619.tar.gz。

⑦ linux 登錄mysql 後 怎麼備份

用命令實現備份

MySQLl提供了一個mysqlmp命令,我們可以用它進行數據備份。

按提示輸入密碼,這就把tm資料庫所有的表結構和# mysqlmp -u root -p tm > tm_050519.sql數據備份到tm_050519.sql了,因為要總進行備份工作,如果數據量大會佔用很大空間,這時可以利用gzip壓縮數據,命令如下:

# mysqlmp -u root -p tm | gzip > tm_050519.sql.gz
系統崩潰,重建系統時,可以這樣恢復數據:

# mysqlmp -u root -p tm < tm_050519.sql
從壓縮文件直接恢復:

#gzip < tm_050519.sql.gz | mysqlmp -u root -p tm
當然,有很多MySQL工具提供更直觀的備份恢復功能,比如用phpMyAdmin就很方便。但我認為,mysqlmp是最基本、最通用的。

二、利用crontab,系統每天定時備份mysql資料庫

利用系統crontab來定時執行備份文件,按日期對備份結果進行保存,達到備份的目的。

1、創建保存備份文件的路徑/var/backup/mysqlbak

# mkdir -p /var/backup/mysqlbak
2、創建/usr/sbin/bakmysql文件

#vi /usr/sbin/bakmysql.sh

#!/bin/bash
# mysql備份腳本
cd /var/backup/mysqlbak/
dateDIR=`date +"%y-%m-%d"`
mkdir -p $dateDIR/data
for i in `/usr/local/www/mysql/bin/mysql -uroot -plin31415926 -e "show databases" |
grep -v "Database" | grep -v "information_schema"`
do
/usr/local/www/mysql/bin/mysqlmp -uroot -plin31415926 $i |
gzip > /var/backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gz
done
3、修改文件屬性,使其可執行

# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab

# crontab -e
在下面添加
01 3 * * * root /usr/sbin/bakmysql
#表示每天3點鍾執行備份

這樣每天就可以在/var/backup/mysqlbak下看到備份的sql文件 了!

⑧ 如何在linux下實現mysql資料庫每天自動備份

把以前寫的一個發你看看
腳本要求: 編寫shell腳本,每天凌晨1點備份td_oa庫,到mysql-back目錄,並將備份文件壓縮,壓縮名稱為備份的日期,只保留連續七天的備份文件
#!/bin/bash
mysql -uroot -p123456 -e "flush tables with read lock;" 鎖住表
/usr/local/mysql/bin/mysqlmp -uroot -p123456 td_oa --flush-logs --single-transaction > td_oa.sql &>/dev/null #如果啟動了binlog,--flush-logs 刷新日誌,--single-transaction 保證數據的一致性
mysql -uroot -p123456 -e "unlock tables;" 解鎖
a=`/bin/date +%Y-%m-%d` #在這里加上時間,壓縮的時候加上時間,會失敗。
echo $a
cd /gxl
/bin/tar -czf $a.tar /fjp/td_oa.sql
b="$a.tar"
cp -p $b /root/fjp
for c in `find /root/fjp -ctime +7`
do
/bin/rm -rf $c
done

⑨ LINUX備份mysql表

外網資料庫.my.cnf
binlog-do-db=IM
binlog-do-db=curlsmerit

內網資料庫
replicate-wild-ignore-table=curlsmerit.%_user_%

閱讀全文

與linuxmysql備份表相關的資料

熱點內容
time庫中的clock函數python 瀏覽:989
cad視覺移動命令怎麼打開 瀏覽:821
安卓java調用python 瀏覽:395
java標准時間 瀏覽:137
華為伺服器湖北渠道商雲主機 瀏覽:30
韓式面部護理解壓視頻 瀏覽:301
pdf換成jpg圖片 瀏覽:897
dh加密演算法 瀏覽:107
安卓手機如何隱藏微信信息提示 瀏覽:632
nodejs解壓縮 瀏覽:262
直流雙轉子壓縮機 瀏覽:952
pythonxmlstring 瀏覽:822
用私鑰加密之後可以用公鑰解密 瀏覽:788
ug如何啟動伺服器 瀏覽:444
csgo防抖動命令 瀏覽:960
如何弄到手機app頁面的源碼 瀏覽:441
androidwindows7破解版 瀏覽:363
解壓視頻動畫怎麼拍 瀏覽:748
連漲啟動源碼 瀏覽:163
小奔運動app網路異常怎麼回事 瀏覽:449