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
從其他數據庫遷移
[編輯]數據建模工具
[編輯]