mysql在linux下命令備份數據庫


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服務器的三個步驟:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM