搜尋

首頁  >  問答  >  主體

mysql source命令如何把日志记录到文件里面

mysql source命令如何把日志记录到文件里面

在msyql数据库备份过程中,使用source命令,日志都打印在界面上了,如何让它输入到一个文件里面?

PHP中文网PHP中文网2876 天前710

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-04-17 15:26:47

    執行前在mysql shell裡面運行

    tee output.log

    之後你執行任何指令輸出都會打在裡面。 output.log就是你要的文件,名字隨便,路徑隨便

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 15:26:47

    可以使用expect,像是我常用這樣的一個import.sh腳本:

    #!/usr/bin/env expect
    
    if {$argc<2} {
      send_user "Usage: $argv0 sql_file database"
      exit
    }
    
    set sql_file [lindex $argv 0]
    set database [lindex $argv 1]
    
    spawn mysql -u root -p
    
    expect "password:"
    send "你的密码\r"
    
    expect "mysql>"
    send "create database $database CHARACTER SET utf8 COLLATE utf8_general_ci;\r"
    
    expect "mysql>"
    send "use $database;\r"
    
    expect "mysql>"
    send "source $sql_file;\r"
    
    expect "mysql>"
    send "show tables;\r"
    
    expect "mysql>"
    send "quit;\r"
    
    expect eof
    

    然後,匯入一個資料庫並且記錄日誌就這樣就行了:

    import.sh path/to/sqlfile.sql some_database >> import.log

    回覆
    0
  • 取消回覆