Copyright © 1999-2020, CSDN.NET, All Rights Reserved
mysql
登錄
Linux 關於MYSQL資料庫命令(查看,備份等操作) 原創
2016-04-19 11:22:33
fuwen1989
碼齡7年
關注
1.Linux系統下啟動MySQL的命令:
/ect/init.d/mysql start (前面為mysql的安裝路徑)
2.linux下重啟mysql的命令:
/ect/init.d/mysql restart (前面為mysql的安裝路徑)
3.linux下關閉mysql的命令:
/ect/init.d/mysql shutdown (前面為mysql的安裝路徑)
4.連接本機上的mysql:
進入目錄mysql\bin,再鍵入命令mysql -u root -p, 回車後提示輸入密碼。
5.打開資料庫後的操作命令查看資料庫的命令
mysql> show databases;
打開mydb庫
mysql> use mydb;
查看數據表的詳細結構
mysql> desc funtb;
新建資料庫
mysql> create database school;新建表
mysql> create table user01(
-> id varchar(20) NOT NULL,
-> userName varchar(10) NOT NULL,
-> age int(11) default'0',
-> sex char(2) NOT NULL default'm',
-> PRIMARY KEY (id)
-> )TYPE=InnoDB;
Query OK, 0 rows affected, 1 warning (0.02 sec)
mysql>desc student;
插入
mysql> insert into student(id,stuName) values('1','tomcat');
刪除
mysql> delete from student where id='1';
刪除表中所有數據
mysql> truncate table student;
刪除表
mysql> drop table temp;
創建新用戶並給予許可權
mysql> grant all privileges on *.* to dbuser@localhost identified by '1234'
with grant option;
更改Mysql用戶密碼
c:\Mysql5.0\bin>mysqladmin -u root -p password 1234
Enter password: ****
備份資料庫及表(新版資料庫不加3306埠號)
c:\mysql\bin\>mysqlmp –u root –p mydb >d:\backup.sql
執行此語句將把資料庫mydb 備份到D盤的backup.sql文件中 備份多個資料庫表
c:\mysql\bin\>mysqlmp –u root –p 3306 school user01 user >d:\backup.sql
此句的意思是把school庫中的user01表和user表的內容和表的定義備份到D盤backup.sql文件中。
備份所有的資料庫
c:\myql\bin>mysqlmp –u root –p 3306 –all –database>d:backup.sql
還原Mysql資料庫
c:\mysql\bin\mysql –u root –p 3306 school
還原其中的一個表
mysql> source d:\books.sql;
退出Mysql連接
mysql>quit(exit)
windows關閉mysql服務
C:\mysql\bin>net mysql
② 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伺服器中如何登陸另一台Linux伺服器中的Oracle資料庫進行全庫備份
1、你可以在資料庫A做計劃任務,用exp或者expdp導出,然後scp或者rsync到伺服器B
例如計劃任務0 0 * * * /data1/backup/expdp_db_bak.sh;
expdp_db_bak.sh內容:
#!/bin/sh
. ~/.bash_profile
dst=/data1/backup/db_bak
today=`date +%F`
bakfile=expdp_db_${today}.dmp
logfile=expdp_db_${today}.log
expdp 'user01/778899' DIRECTORY=expdp_dir1 parallel=2 \
mpfile=$bakfile SCHEMAS=user01 logfile=$logfile COMPRESSION=all
scp -P22 $bakfile [email protected]:/data1/backup/db_bak
exit 0;
2、也可以在伺服器B用exp直接導出數據
exp 'user01/778899@DB01' file=$bakfile FULL=Y log=bak.log
3、開啟歸檔模式,在伺服器A用rman 做全備或增量備份,然後將備份同步到伺服器B
指定路徑
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/rman/full_%d_%U';
全備份,默認Format
backup incremental level 0 database;
增量備份
backup incremental level 1 database;
將備份rsync 到伺服器B
/usr/bin/rsync -av '-e ssh -p 22' [email protected]:/data1/rman /data1
4、開啟歸檔模式,在伺服器AB間配置DATAGURAD,同步數據
④ linux中mysql如何備份與恢復(mysql備份和恢復資料庫命令)
把以前寫的一個發你看看
腳本要求:編寫shell腳本,每天凌晨1點備份td_oa庫,到mysql-back目錄,並將備份文件壓縮,壓縮名稱為備份的日期,只保留連續七天的備份物斗猜文件
#!/bin/bash
mysql-uroot-p123456-e"flushtableswithreadlock;"鎖住表
/usr/local/mysql/bin/mysqlmp-uroot-p123456td_oa--flush-logs--single-transaction mysql-uroot-p123456-e"unlocktables;"解鎖 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 forcin`find/root/fjp-ctime7` do /bin/rm-rf$c done ⑤ linux怎麼備份db2資料庫
linux中備份db2資料庫指南:
一、備份(backup)資料庫
1、離線全備份
1)、首先確保沒有用戶使用DB2:
db2 list applications for db sample
2)、停掉資料庫並重新啟動,以便斷掉所有連接:
db2stop force
db2start
3)、執行備份命令:(使用TSM作為備份的介質)
db2 backup db sample use tsm
備份成功,將會返回一個時間戳。
4)、檢查備份成功:
db2 list history backup all for sample 可以看到多了這個備份的紀錄。
db2atl query 命令也可以看到返回值。
5)、備註:
首先對主節點(catalog表空間在的節點)執行備份命令,再對另外的節點也做這個操作。
2、 在線備份:
1)、首先打開一下支持在線備份的資料庫配置參數:
db2 update db cfg for sample using userexit on 啟用用戶出口
db2 update db cfg for sample using logretain on 啟用歸檔日誌
db2 update db cfg for sample using trackmod on 啟用增量備份功能
(需要各個Node都分別做設置)
開啟這些參數後,資料庫處於backup pending狀態,要求做資料庫的離線全備份。做一下離線全備份,參考上面的命令。
2)、在線備份命令如下:
db2 backup db sample online use tsm
備份成功,返回一個時間戳。
3)、同樣可以用db2atl 和db2 list history察看備份紀錄。
4)、備註:
同樣,對每個節點都做這個操作。
3、 在線增量備份
1)、在開啟了必須的三個參數的情況下,做增量備份:
db2 backup db sample online incremental use tsm
備份成功,返回一個時間戳。
2)、同樣可以用db2atl 和db2 list history察看備份紀錄。
3)、還有一種delta的備份:
db2 backup db sample online incremental delta use tsm
這兩種備份的區別,類似Oracle Exports的Incremental和Cumulative方式,db2的incremental對應oracle的cumulative方式,而db2的delta方式則對應oracle的incremental方式。
4)、備註:
同樣,對每個節點都做這個操作。