mysql数据库的备份和转移[自我总结,是之前一篇文章的补充]

    

mysql数据库的备份和转移[自我总结,是之前一篇文章的补充]

翱翔天空♂鹏 发表于 2008-11-14 12:21:46

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 'root'@'%' registered”的情况,大意是说找不到在Host 值为"%",User值为"root"的数据,即该主机以及该用户没注册到mysql数据库中的user表中,因为创建这些视图和存储过程的所有者为“root@%”,进行如下操作即可明白:

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');

//插入'root'@'%' 的注册信息并授予相应的权限

mysql> FLUSH PRIVILEGES;    //验证相应的权限是否正确

通过上述几步就可以解除访问视图或是存储过程的权限了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值