MySQL commands: Difference between revisions
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
* {{Gd}} export the compressed *.sql file (especially for BIG sql file). It will show a progress bar and estimated time to complete the mysqldump<ref>[http://dba.stackexchange.com/questions/17367/how-can-i-monitor-the-progress-of-an-import-of-a-large-sql-file mysql - How can I monitor the progress of an import of a large .sql file? - Database Administrators Stack Exchange]</ref><ref>[https://dev.mysql.com/doc/refman/5.1/en/mysqldump.html MySQL :: MySQL 5.1 Reference Manual :: 4.5.4 mysqldump — A Database Backup Program]</ref>: | * {{Gd}} export the compressed *.sql file (especially for BIG sql file). It will show a progress bar and estimated time to complete the mysqldump<ref>[http://dba.stackexchange.com/questions/17367/how-can-i-monitor-the-progress-of-an-import-of-a-large-sql-file mysql - How can I monitor the progress of an import of a large .sql file? - Database Administrators Stack Exchange]</ref><ref>[https://dev.mysql.com/doc/refman/5.1/en/mysqldump.html MySQL :: MySQL 5.1 Reference Manual :: 4.5.4 mysqldump — A Database Backup Program]</ref>: | ||
*# (optional if the {{kbd | key =pv}} was not installed) | *# (optional if the {{kbd | key =pv}} was not installed) | ||
*#* {{kbd | key =yum install pv}} for RHEL / CentOS / SL / Fedora Linux<ref>[http://www.cyberciti.biz/open-source/command-line-hacks/pv-command-examples/ Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe]</ref>; | *#* {{Linux}}: (1){{kbd | key =yum install pv}} for RHEL / CentOS / SL / Fedora Linux<ref>[http://www.cyberciti.biz/open-source/command-line-hacks/pv-command-examples/ Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe]</ref>; (2) {{kbd | key =apt-get install pv}} for Debian / Ubuntu<ref>[http://www.ivarch.com/programs/pv.shtml ivarch.com: Pipe Viewer]</ref>; | ||
*#* {{Win}}: Install (1) [https://www.cygwin.com/ Cygwin], (2) pv package and (3) MySQL database clients apps package | |||
*#* Install (1) [https://www.cygwin.com/ Cygwin], (2) pv package and (3) MySQL database clients apps package | *#* {{Mac}}: Install (1) {{kbd | key =brew install pv}} to get the latest version of pv package<ref>[http://ashleyangell.com/2013/11/pipe-viewer-pv-in-mac-osx/ Pipe Viewer (pv) in Mac OSX]</ref> and (2) MySQL database clients from [https://www.apachefriends.org/zh_tw/download.html XAMPP]. Path of mysql is: /Applications/xampp/xamppfiles/bin/mysql | ||
*# (for InnoDB tables){{kbd | key = <nowiki>mysqldump -h localhost -u username -p --force --single-transaction DATA_BASE_NAME | pv | gzip -c > database.sql.gz</nowiki>}} <ref>[http://journal.andrewloe.com/2009/05/12/pv-gzip-mysql/ pv + gzip + mysql — W. Andrew Loe III: Journal]</ref><ref>(if have permission to LOCK TABLES){{kbd | key = <nowiki>mysqldump -h localhost -u username -p DATA_BASE_NAME | pv | gzip -c > database.sql.gz</nowiki>}} (if have no permission to LOCK TABLES){{kbd | key = <nowiki>mysqldump -h localhost -u username -p --lock-tables=false DATA_BASE_NAME | pv | gzip -c > database.sql.gz</nowiki>}} via [http://stackoverflow.com/questions/104612/run-mysqldump-without-locking-tables mysql - Run MySQLDump without Locking Tables - Stack Overflow]</ref> and press {{kbd | key = <nowiki>Enter</nowiki> }} | *# (for InnoDB tables){{kbd | key = <nowiki>mysqldump -h localhost -u username -p --force --single-transaction DATA_BASE_NAME | pv | gzip -c > database.sql.gz</nowiki>}} <ref>[http://journal.andrewloe.com/2009/05/12/pv-gzip-mysql/ pv + gzip + mysql — W. Andrew Loe III: Journal]</ref><ref>(if have permission to LOCK TABLES){{kbd | key = <nowiki>mysqldump -h localhost -u username -p DATA_BASE_NAME | pv | gzip -c > database.sql.gz</nowiki>}} (if have no permission to LOCK TABLES){{kbd | key = <nowiki>mysqldump -h localhost -u username -p --lock-tables=false DATA_BASE_NAME | pv | gzip -c > database.sql.gz</nowiki>}} via [http://stackoverflow.com/questions/104612/run-mysqldump-without-locking-tables mysql - Run MySQLDump without Locking Tables - Stack Overflow]</ref> and press {{kbd | key = <nowiki>Enter</nowiki> }} | ||
*# ask to enter {{kbd | key = <nowiki>password</nowiki> }} and press {{kbd | key = <nowiki>Enter</nowiki> }} | *# ask to enter {{kbd | key = <nowiki>password</nowiki> }} and press {{kbd | key = <nowiki>Enter</nowiki> }} |
Revision as of 09:30, 15 December 2015
Exporting data into MySql sql file
- export the compressed *.sql file (especially for BIG sql file). It will show a progress bar and estimated time to complete the mysqldump[1][2]:
- (optional if the pv was not installed)
- Linux : (1)yum install pv for RHEL / CentOS / SL / Fedora Linux[3]; (2) apt-get install pv for Debian / Ubuntu[4];
- Win : Install (1) Cygwin, (2) pv package and (3) MySQL database clients apps package
- Mac : Install (1) brew install pv to get the latest version of pv package[5] and (2) MySQL database clients from XAMPP. Path of mysql is: /Applications/xampp/xamppfiles/bin/mysql
- (for InnoDB tables)mysqldump -h localhost -u username -p --force --single-transaction DATA_BASE_NAME | pv | gzip -c > database.sql.gz [6][7] and press Enter
- ask to enter password and press Enter
- (optional if the pv was not installed)
- Bulk export multiple tables into the compressed *.sql files
mysqldump -h localhost -u username -pPASSWORD --force --single-transaction DB_NAME TABLE_1 | pv | gzip -c > table_1.sql.gz mysqldump -h localhost -u username -pPASSWORD --force --single-transaction DB_NAME TABLE_2 | pv | gzip -c > table_2.sql.gz
note: the last line of above part is return symbol. The last command will not executed automatically without the return symbol.
- export the *.sql file. It will show a progress bar and estimated time to complete the mysqldump [8]:
- (optional if the pv was not installed) yum install pv for RHEL / CentOS / SL / Fedora Linux
- (for InnoDB tables)mysqldump -h localhost -u username -p --force --single-transaction DATA_BASE_NAME | pv > database.sql and press Enter
- enter password and press Enter
- export the *.sql file
- mysqldump -h localhost -u username -p DATA-BASE-NAME > /path/to/database.sql
Importing data from MySql sql file
Notice: existing database will be overwritten
- Import the compressed *.sql file with gzip (especially for BIG sql file). It will show a progress bar and estimated time to complete the mysql command:
- (optional if the pv was not installed) yum install pv for RHEL / CentOS / SL / Fedora Linux
- pv database.sql.gz | gunzip | mysql -u username -p -h localhost --default_character_set utf8 --force DATA_BASE_NAME [9] and press Enter
- enter password and press Enter The console window will show ETA (Estimated Time of Arrival)
- Import *.sql file:
- (optional if the .sql file was compressed) unzip data.zip or gzip -d data.gz if the file was compressed by gzip
- mysql -u username -p -h localhost --default_character_set utf8 --force DATA_BASE_NAME < data.sql [10] and press Enter
- enter password and press Enter
- Import the *.sql file (especially for BIG sql file). It will show a progress bar and estimated time to complete the mysql command[11]:
- (optional if the pv was not installed) yum install pv for RHEL / CentOS / SL / Fedora Linux
- pv data.sql | mysql -u username -p -h localhost --default_character_set utf8 --force DATA_BASE_NAME [12] and press Enter
- enter password and press Enter The console window will show ETA (Estimated Time of Arrival)
- Import ZIP file to MySql directly:
Show the MySQL process list & kill the process
Show the MySQL process list & kill the process (especial for SLOW query command)[15]
- mysql -h HOST -u ACCOUNT -p
- And keyin the PASSWORD of your MySQL ACCOUNT. The first character will be changed to mysql> from $ or #
- mysql> SHOW FULL PROCESSLIST\G to show the process list
- mysql> kill 101; to kill the process with Id number: 101
- mysql> exit; to leave the MySQL command.
Troubleshooting of MySQL command
command not found: mysqldump
- locate the mysqldump command
- sudo find / -iname mysqldump for Mac or Linux
- And find /Applications/XAMPP/xamppfiles/bin/mysqldump from XAMPP for Mac
- input the complete path of mysqldump command
- old command which caused error mysqldump -h 127.0.0.1 -u root -p --force --single-transaction DATABASE_NAME | pv | gzip -c > DATABASE_NAME.sql.gz
- new command /Applications/XAMPP/xamppfiles/bin/mysqldump -h 127.0.0.1 -u root -p --force --single-transaction DATABASE_NAME | pv | gzip -c > DATABASE_NAME.sql.gz
references
- ↑ mysql - How can I monitor the progress of an import of a large .sql file? - Database Administrators Stack Exchange
- ↑ MySQL :: MySQL 5.1 Reference Manual :: 4.5.4 mysqldump — A Database Backup Program
- ↑ Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe
- ↑ ivarch.com: Pipe Viewer
- ↑ Pipe Viewer (pv) in Mac OSX
- ↑ pv + gzip + mysql — W. Andrew Loe III: Journal
- ↑ (if have permission to LOCK TABLES)mysqldump -h localhost -u username -p DATA_BASE_NAME | pv | gzip -c > database.sql.gz (if have no permission to LOCK TABLES)mysqldump -h localhost -u username -p --lock-tables=false DATA_BASE_NAME | pv | gzip -c > database.sql.gz via mysql - Run MySQLDump without Locking Tables - Stack Overflow
- ↑ MySQL Import/Export Progress Bar - Kevin Warrington
- ↑ pv + gzip + mysql — W. Andrew Loe III: Journal
- ↑ Import MySQL Dumpfile, SQL Datafile Into My Database
- ↑ mysql - How can I monitor the progress of an import of a large .sql file? - Database Administrators Stack Exchange
- ↑ Import MySQL Dumpfile, SQL Datafile Into My Database
- ↑ database - Importing zipped files in Mysql using command line - Stack Overflow
- ↑ Install 7Zip on CentOS 5.5
- ↑ MySQL :: MySQL 5.1 Reference Manual :: 13.7.5.31 SHOW PROCESSLIST Syntax
further reading
- Forcing a mysqldump to always be nice to CPU and I/O | eosrei.net: using nice or ionice commands
- ionice command is not exists in cygwin