-u -p指的是连接数据库的用户名和密码 ,不能和os的用户名和密码搞混淆
mysql -uroot monitor_v3_dev < /home/simon/monitor_v3/db/prepare_dimensions.sql
m5: mysql -uroot -palim2010 eagleyes < /home/www/monitor/db/prepare_dimensions.sql
mysqldump -uroot -palim2010 eagleyes dimensions > /home/www/monitor/prepare_dimensions.sql
cd /usr/local/mysql/bin
./mysqldump -uroot -p monitor_v3_dev > /home/simon/eagleyes_spider.sql
mysql -uroot -p monitor_v3 < /home/simon/prepare_dimensions.sql
drop database eagleyes_spider;
create database eagleyes_spider;
mysql -uroot -palim2010 eagleyes_spider < /home/www/monitor/db/eagleyes_spider.sql
rake db:init_user
sftp app@208.43.62.178
put /home/simon/eagleyes_spider.sql /home/www/monitor/db
get /home/www/monitor/prepare_dimensions.sql /home/simon
修改服务器上的表结构
ALTER TABLE `client_jobs` ADD `client_done` tinyint(1) DEFAULT 0
ALTER TABLE `client_jobs` ADD `server_done` tinyint(1) DEFAULT 0
CREATE INDEX `index_client_jobs_on_client_done` ON `client_jobs` (`client_done`)
CREATE INDEX `index_client_jobs_on_server_done` ON `client_jobs` (`server_done`)
rake db:migrate RAILS_ENV=monitor_spider
ClientJob.update_all("client_done = #{true}",["created_at < ?","2010-08-23 15:50:45"])
DispatchList.update_all("done_ids = ''", ["dimension like ?","%included_volume%"])
导出结构不导出数据 : mysqldump --opt -d 数据库名 -uroot -p > xxx.sql
导出数据不导出结构 : mysqldump -t 数据库名 -uroot -p > xxx.sql
导出数据和表结构 : mysqldump 数据库名 -uroot -p > xxx.sql
导出特定表的结构 : mysqldump -uroot -p 数据库名 表名 > xxx.sql
mysqldump --opt -d -uspider -pspider2010 eagleyes > /home/www/monitor/db/eagleyes-structure.sql
mysqldump -uspider -pspider2010 eagleyes dimensions > /home/www/monitor/db/prepare_dimensions.sql
mysql -uroot -p monitor_v3 < /Users/qmb/eagleyes-structure.sql
mysql -uroot -p monitor_v3 < /Users/qmb/prepare_dimensions.sql
导出数据库结构时没有将相关的procedure 导出会导致下列错误
ActiveRecord::StatementInvalid (Mysql::Error: PROCEDURE monitor_v3.usp_retl_data does not exist: insert into task_items_1 (GMT_CREATE, GMT_MODIFIED, ITEM) values('2010-11-08 19:07:19', '2010-11-08 19:07:19', 'part worn tyres'))
一、进入mysql的bin目录
二、 导出:
[mysql bin path]>mysqldump --opt -d -u root -p dbn > backup-file.sql
Enter password: ******
(以上命令包含触发器,如果需要包含存储过程需要加参数 --routines)
[mysql bin path]>mysqldump --opt --routines -d -u root -p dbn > backup-file.sql
Enter password: ******
三、导入:
[mysql bin path]>mysql -u root -p dbn < backup-file.sql
Enter password: ******
四、收尾工作: 清理sql文件,导出时会在bin目录下生成backup-file.sql 文件,在导入工作完成后就没用了,可以删了,当然留着也可以。