MySQL/Databases manipulation
< MySQL
創建
編輯 CREATE DATABASE database;
需要特權。
mysqladmin create
是該函數的命令行包裝器。
MySQL中, CREATE SCHEMA
同義於CREATE DATABASE
。
刪除
編輯 DROP DATABASE database;
需要特權。
mysqladmin drop
是該函數的命令行包裝器。命令行選項-f
抑制交互式確認,用於無人在場的腳本。
更名
編輯SQL語言現在不能直接做資料庫更名。[1].
替代方法:
mysqladmin create name2
mysqldump --opt name1 | mysql name2
mysqladmin drop -f name1
或者文件夾直接更名:
cd /var/lib/mysql/
/etc/init.d/mysql stop
mv name1/ name2/
/etc/init.d/mysql start
還需要更新特權的授權:
UPDATE mysql.db SET `Db`='name2' WHERE `Db`='name1';
FLUSH PRIVILEGES;
複製
編輯MySQL沒有直接做資料庫複製的語句。
mysqldump
編輯mysqldump命令行產生一個文件資料庫拷貝。可重注入其他資料庫。
# First, clean-up the target database:
mysqladmin drop -f base2
mysqladmin create base2
# Copy base1 to base2:
mysqldump --opt base1 | mysql base2
備份
編輯在Linux上每天午夜自動備份:[2]
$ crontab -e
0 0 * * * /usr/local/bin/mysqldump -uLOGIN -PPORT -hHOST -pPASS base1 | gzip -c > `date “+\%Y-\%m-\%d”`.gz
恢復
編輯mysql -h localhost -u root MaBase < MaBase.sql
從其他資料庫遷移
編輯數據建模工具
編輯