mysql在linux下命令備份資料庫

來源:互聯網
上載者:User
mysql在linux下命令備份資料庫2010-07-09 11:25

如果機子上裝有mysql,可以直接輸入mysql進入。 

 

   1:開啟的資料庫的命令 

  mysql> use mysql 
  Database changed 
  2:查看資料庫的命令 

  mysql> show databases; 
    3:查看資料庫中表的命令 
    mysql> show tables; 
   4:查看錶的詳細結構 
    mysql> desc tablename; 
   5:建立資料庫 
    mysql> create database school; 
  Query OK, 1 row affected (0.00 sec) 
   6:建立表 

  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; 
    7:插入 

  mysql> insert into student(id,stuName) values('1','tomcat'); 

  Query OK, 1 row affected (0.00 sec) 

  8:刪除 

  mysql> delete from student where id='1'; 

  Query OK, 1 row affected (0.01 sec) 

  9:刪除表中所有資料 

  mysql> truncate table student; 

  Query OK, 1 row affected (0.01 sec) 

    10:建立新使用者並給予許可權 

  mysql>grant all privileges on *.* to dbsync@"127.0.0.1" identified by "1234"; 

  11:更改Mysql使用者密碼 

  c:\Mysql5.0\bin>mysqladmin -u root -p password 1234 

  Enter password: **** 
備份資料庫及表 

  我們用mysqldump命令來備份資料庫 

  c:\mysql\bin\>mysqldump –u root –p 3306 mysql>d:\backup.sql 

  執行此語句將把mydb 備份到D盤的backup.sql檔案中 

  備份多個資料庫表 

  c:\mysql\bin\>mysqldump –u root –p 3306 school user01 user >d:\backup.sql 

  此句的意思是把school庫中的user01表和user表的內容和表的定義備份到D盤backup.sql檔案中。 

  備份所有的資料庫 

  c:\myql\bin>mysqldump –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的命令輸入框。

輸入mysqldump -uroot -p mdwk >/usr/mysqlback/mdwk2010-07-09.sql;則可

1 mysqlldump命令 

    mysqldump 是採用SQL層級的備份機制,它將資料表導成 SQL 指令檔,在不同的 MySQL 版本之間升級時相對比較合適,這也是最常用的備份方法。 

    使用 mysqldump進行備份非常簡單,如果要備份資料庫” db_backup ”,使用命令:

#mysqldump –u -p phpbb_db_backup > /usr/backups/mysql/db_backup2008-1-6.sql

    還可以使用gzip命令對備份檔案進行壓縮:

#mysqldump db_backup | gzip > /usr/backups/mysql/ db_backup2008-1-6.sql.gz

    只備份一些頻繁更新的資料庫表:

## mysqldump 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 mysqlhotcopy備份 

    mysqlhotcopy 只能用於備份 MyISAM,並且只能運行在 linux 和Unix 和 NetWare 系統上。mysqlhotcopy 支援一次性拷貝多個資料庫,同時還支援正則表達。以下是幾個例子:

#mysqlhotcopy -h=localhost -u=goodcjh -p=goodcjh db_name /tmp

    (把資料庫目錄 db_name 拷貝到 /tmp 下) 
    注意,想要使用 mysqlhotcopy,必須要有 SELECT、RELOAD(要執行 FLUSH TABLES) 許可權,並且還必須要能夠有讀取 datadir/db_name 目錄的許可權。 

    還原資料庫方法:

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

# /bin/rm -rf /mysql-backup/*old

    關閉mysql 伺服器、複製檔案、查詢啟動mysql伺服器的三個步驟:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.