mysql数据库的备份和转移

1375阅读 0评论2009-02-19 wuty2007
分类:Mysql/postgreSQL

1 使用mysqldump备份和拷贝数据库

当你使用mysqldump程序产生数据库备份文件时,缺省地,文件内容包含创建正在倾倒的表的CREATE语句和包含表中行数据的INSERT语句。换句话说,mysqldump产生的输出可在以后用作mysql的输入来重建数据库。
 
你可以将整个数据库倾倒进一个单独的文本文件中,如下:
 
%mysqldump -u用户名 -p密码 samp_db(数据库) > /usr/archives/mysql/samp_db.1999-10-02 (输出的mysql脚本文件)
 
如果要快速的导出数据库中的数据以及导出存储过程,使用如下语句(增加了两个参数--opt  -R):
 
%mysqldump -u用户名 -p密码    --opt    -R   samp_db(数据库) > /usr/archives/mysql/samp_db.1999-10-02 (输出的mysql脚本文件)
 
2. 在另一个机器上执行该脚本
 
先把输出的脚本文件拷贝过来,然后:
 
%mysqladmin -u用户名 -p密码   create    samp_db(数据库)         //先创建数据库samp_db
%mysql -u用户名 -p密码 samp_db(数据库) < samp_db.1999-10-02 (输入的mysql脚本文件) //创建表以及插入数据
 
3.  如果在操作视图和存储过程中遇到“ERROR 1449 (HY000): There is no registered”的情况,大意是说找不到在Host 值为"%",User值为"root"的数据,即该主机以及该用户没注册到mysql数据库中的user表中,因为创建这些视图和存储过程的所有者为”,进行如下操作即可明白:
mysql> use mysql;                  //进入mysql数据库
mysql> desc user;                   //查看user表的结构
mysql> select * from user;     //查看user表的数据
mysql> DELETE FROM user WHERE Host='%';  //如果有该主机"%",删除该行数据
mysql> INSERT INTO mysql.user (Host,User,Password,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,Create_tmp_table_priv,Lock_tables_priv,Execute_priv,Repl_slave_priv,Repl_client_priv,Create_view_priv,Show_view_priv,Create_routine_priv,Alter_routine_priv,Create_user_priv) values ('%','root', PASSWORD('root'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
//插入 的注册信息并授予相应的权限
 
mysql> FLUSH PRIVILEGES;    //验证相应的权限是否正确
 
通过上述几步就可以解除访问视图或是存储过程的权限了。
上一篇:如何安装.src.rpm软件包
下一篇:TcpDump 相关文章