前言:我从亚马逊服务器里购买了一台RDS,但是原先的mysql服务器储存在亚马逊的ec2,现在VPC也是互通的,所以可以直接运用mysql的mysqldump命令,生成xxx.sql的数据库文件
一、生成xxx.sql 数据库文件
mysqldump --skip -tz -utc -hxxxx.mysqldb.com -P3306 -uroot -proot xxxxx(数据库名) > /root/sql/xxx.sql
扩展:mysqldump命令使用:
1、各种用法说明:
mysqldump -uroot -pPassword [database name] > [sql file]
上述命令将指定数据库备份到某dump文件(转储文件)中,比如:
mysqldump -uroot -p123 test > test.sql
生成的test.sql文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句。
2.跨主机备份 使用下面的命令可以将host1上的sourceDb复制到host2的targetDb,前提是host2主机上已经创建targetDb数据库:
mysqldump --host=host1 --opt sourceDb| mysql --host=host2 -C targetDb
-C指示主机间的数据传输使用数据压缩
D. 只备份表结构
mysqldump --no-data --databases mydatabase1 mydatabase2 mydatabase3 > test.dump
将只备份表结构。–databases指示主机上要备份的数据库。如果要备份某个MySQL主机上的所有数据库可以使用–all-databases选项,如下:
mysqldump --all-databases
> test.dump
E. 从备份文件恢复数据库
mysql [database name] < [backup file name]
【B】mysqldump 备份命令:
备份源数据mysql:
mysqldump -u<数据库用户名> -p 数据库 > /导出mysql存放位置/mysql.sql
例子:例如我的源数据 mysql 名为:oldmysql, 数据库用户名: user4oldmysql mysql数据库密码为:12345678 备份输出位置为:/backup/mysqlbackup01.sql
那么备份执行mysqldump为:
mysqldump -uuser4oldmysql -p oldmysql > /backup/mysqlbackup01.sql
回车后提示输入mysql密码,黏贴密码回车即可备份。
注意:mysql在备份前,请清空mysql缓存(比如drupal的站内可使用clear cache)
从外部导入mysql (其他数据类似)方法之一:从amazon ec2远程连接到一个预先建立的空rds, 从ec2导入mysql 到amazon rds。
注意:mysql 导出的方式,源mysql版本必须低于目标导入rds的mysql版本,也就是说:目标mysql版本只能与源mysql相同 (相同有点难),或者更高-----如此才能达到向下兼容
外部mysql 导入到amazon rds数据库 教学 操作步骤:
1: 从ec2 远程连接到 amazon rds
1-1:ec2 和 amazon rds需要在一个VPC里,就是说,你自己amazon aws帐号里的ec2和rds可以互通; 1-2:ec2上需要预装mysql server ,如果没有,轻按下面步骤安装mysql server (最新版本) 连接到 Amazon EC2 实例,并使用以下命令安装最新更新和 MySQL 客户端工具:
sudo yum update -y
sudo yum install mysql-server -y
3:安装完毕mysql server 后,可以尝试连接远程rds,但在这之前,你需要对rds的安全组进行追加一个入站规则【允许 3306 远程入站访问 内网ip/32】,这个规则里的【内网ip/32】,就是你的ec2 (准备连接到rds的这个ec2的内网 ip ),出站规则也要假设,仅出站到对应ec2 (ec2 的内网ip/32) 4: 将准备导入rds里的mysql预先使用pysqldump导出,放置在ec2上指定文件夹里,然后使用如下命令,远程连接到rds
mysql -h <host_name> -P 3306 -u <db_master_user> -p
5: 远程连接到后,使用如下命令导入mysql
mysql> source /源数据backup.sql;
评论区