linux server mysql 备份
2017-09-07 13:54
246 查看
今天需要把一台服务器的的mysql 数据备份到另一台服务器上;
首先自然是需要先对原服务器上的数据备份
记录如下:
一,数据库的备份与导入
1),数据库的备份
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
例:(jstorm_server)➜ ~/mysqlBackup mysqldump -u root -p fdroid > ./fdroidBackup.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
例:mysqldump -u dbadmin -p myblog wp_users> /home/zhangy/blog/database_bak/blog_users.sql
3.导出一个数据库结构
mysqldump -u dbadmin -p -d --add-drop-table myblog > /home/zhangy/blog/database_bak/blog_struc.sql
说明:-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导出数据库一个表结构
mysqldump -u dbadmin -p -d --add-drop-table myblog wp_users> /home/zhangy/blog/database_bak/blog_users_struc.sql
说明:-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
二,数据的传输
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,scp传输是加密的,可能会稍微影响一下速度其占用的系统资源非常小。非常适合远程文件的拷贝。
1.命令格式:
scp [参数] [原路径] [目标路径]
2.命令功能:
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。
3.命令参数:
-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
4.使用实例:
执行命令将本地的目录上传的远程服务器目录上。执行命令"scp -r /opt/test root@192.168.2.105:/opt"。本条命令意思为将本地的目录/opt/test上传到远程192.168.2.105的opt目录下。然后根据提示输入root的密码,等待即可上传完毕。
执行命令"scp /root/node-v4.2.1-linux-x64.tar.gz root@192.168.2.105:/opt/test"。意思为将本地文件node-v4.2.1-linux-x64.tar.gz上传到服务器/opt/test目录下。
scp -r root@192.168.2.105:/root/rules /opt"。意思为将远程服务器上/root/rules目录内的内容拷贝到本地的opt目录下。
执行命令"scp -P 22 root@192.168.2.105:/root/filters.bpf /opt/"。意思为将远程服务器上/root目录下的filters.bpf文件拷贝到本地的opt目录下。
三,数据库的创建以及数据的恢复
show create database fdroid; 查看字符集
创建数据库 并指定字符集
命令:
CREATE DATABASE yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
创建用户
命令:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
host为可以登录的主机地址,如果任何主机都可以,设置为%
给用户授权
命令:GRANT privileges ON databasename.tablename TO 'username'@'host';
privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,
如*.*。
附上
Linux下MySQL数据库常用基本操作 一:http://www.cnblogs.com/xdpxyxy/archive/2012/11/16/2773662.html
导入数据
用 source 语句
例如:
mysql -u root -p
use fdroid;
set names utf8; #这里的字符集根你的将要导入的数据库的字符集一致。
source /home/zhangy/blog/database_bak/myblog.sql;
首先自然是需要先对原服务器上的数据备份
记录如下:
一,数据库的备份与导入
1),数据库的备份
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
例:(jstorm_server)➜ ~/mysqlBackup mysqldump -u root -p fdroid > ./fdroidBackup.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
例:mysqldump -u dbadmin -p myblog wp_users> /home/zhangy/blog/database_bak/blog_users.sql
3.导出一个数据库结构
mysqldump -u dbadmin -p -d --add-drop-table myblog > /home/zhangy/blog/database_bak/blog_struc.sql
说明:-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导出数据库一个表结构
mysqldump -u dbadmin -p -d --add-drop-table myblog wp_users> /home/zhangy/blog/database_bak/blog_users_struc.sql
说明:-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
二,数据的传输
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,scp传输是加密的,可能会稍微影响一下速度其占用的系统资源非常小。非常适合远程文件的拷贝。
1.命令格式:
scp [参数] [原路径] [目标路径]
2.命令功能:
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。
3.命令参数:
-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
4.使用实例:
执行命令将本地的目录上传的远程服务器目录上。执行命令"scp -r /opt/test root@192.168.2.105:/opt"。本条命令意思为将本地的目录/opt/test上传到远程192.168.2.105的opt目录下。然后根据提示输入root的密码,等待即可上传完毕。
执行命令"scp /root/node-v4.2.1-linux-x64.tar.gz root@192.168.2.105:/opt/test"。意思为将本地文件node-v4.2.1-linux-x64.tar.gz上传到服务器/opt/test目录下。
scp -r root@192.168.2.105:/root/rules /opt"。意思为将远程服务器上/root/rules目录内的内容拷贝到本地的opt目录下。
执行命令"scp -P 22 root@192.168.2.105:/root/filters.bpf /opt/"。意思为将远程服务器上/root目录下的filters.bpf文件拷贝到本地的opt目录下。
三,数据库的创建以及数据的恢复
show create database fdroid; 查看字符集
创建数据库 并指定字符集
命令:
CREATE DATABASE yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
创建用户
命令:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
host为可以登录的主机地址,如果任何主机都可以,设置为%
给用户授权
命令:GRANT privileges ON databasename.tablename TO 'username'@'host';
privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,
如*.*。
附上
Linux下MySQL数据库常用基本操作 一:http://www.cnblogs.com/xdpxyxy/archive/2012/11/16/2773662.html
导入数据
用 source 语句
例如:
mysql -u root -p
use fdroid;
set names utf8; #这里的字符集根你的将要导入的数据库的字符集一致。
source /home/zhangy/blog/database_bak/myblog.sql;
相关文章推荐
- linux 每天备份mysql数据
- linux每天定时备份mysql
- Linux下MySQL整个数据库的备份与还原2
- linux-mysql自动备份脚本
- Linux学习笔记:MySQL主从复制遭遇 'Misconfigured master - server id was not set'
- Linux下MySQL定时按日期备份数据
- mysql备份与还原数据及linux压缩文件及解压文件
- Linux环境Mysql配置定时备份
- Linux中命令备份mysql形成文件
- linux下mysql如何自动备份shell脚本
- 【转】Linux mysql停止失败的解决办法 Stopping MySQL database server mysqld [fail]
- linux下mysql自动备份脚本代码
- linux下手动备份mysql以及定时备份mysql
- 关于通过linux crontab+xtrabackup自动化备份mysql数据的说明
- Linux命令:MySQL系列之十三--MySQL备份与还原(针对单张表SELECT备份重要章节)
- 解决:MySQL命令行导入备份时会出现“MySQL server has gone away”的错误
- Mysql_数据库实时备份_linux
- Linux设置MySQL自动备份
- linux的crontab定时服务备份mysql数据