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
从其他数据库迁移
[编辑]数据建模工具
[编辑]