文章目录
一、环境说明
源主机(A) | 目标主机(B) | |
---|---|---|
IP | 192.168.1.20 | 192.168.1.40 ,端号是 2228 |
Mysql |
二、源主机(A)的操作
2.1、远程登录目标主机(B):
在源主机(A)上,ssh登录目标主机(B)
ssh root@192.168.1.40
输入密码
ssh 默认端口号是22,如果不是默认的端号时,需要指定端口号:
ssh root@192.168.1.40 -p 2228
输入密码
2.2、配置ssh免登陆目标主机(B)
如果不觉得 #2.1
每次输入长而复杂密码的操作繁琐时,此步骤可以跳过。
# 1、进入到home目录
cd ~/.ssh
# 2、生成私钥-公钥对
ssh-keygen -t rsa
然后是(四个回车)
执行完这个命令后,会生成两个文件 id_rsa(私钥)、id_rsa.pub(公钥)
## 3、将公钥发送到目标主机B
ssh-copy-id root@192.168.1.40
### 3.1、如果端口号不是默认的,则需要特别指出
ssh-copy-id root@192.168.1.40 -p 2228
### 3.2、也可以使用目标主机的主机名称(假如主机名称是 mysql40 )
ssh-copy-id mysql40
# 4、密码
接着,输入密码
2.3、导出mysql 数据库
使用 mysqldump
导出,格式:
mysqldump -u 用户名 -p 数据库名称 > /导出存放路径/数据文件名称.sql
示例:
mysqldump -u root -p student_db > /opt/mysql/student_db.sql
输入密码
也可以直接将输上密码(假设密码是 111222):
mysqldump -u root -p111222 student_db > /opt/mysql/student_db.sql
注意:
mysqldump 导出 ,也不需要登录 mysql 中执行的,是普通的 shell 执行。
2.4、mysql 数据库文件远程传输到 目标主机(B)的 /data
目录
使用默认端口号(22):
scp /opt/mysql/student_db.sql root@192.168.1.40:/data
使用指定端口号(如端口号是 2228):
scp -P 2228 /opt/mysql/student_db.sql root@192.168.1.40:/data
注意:
-P
: 是 大写 的 。
三、目标主机(B)的操作
3.1、从源主机(A) 登录到目标主机(B)
上面的 #2.1
已经有说明。
3.2、查看上传的 myql 数据文件
ls /data
3.3、登录 mysql 并导入数据
假设 mysql 服务已经创建好,并启动。 用户名是 root,密码是 333444
### 1、登录 mysql
mysql -u root -p333444
### 2、创建数据库
# 此步骤可以通过mysql的客户端创建,而不是通过命令
mysql> create database student_db ;
#### 如果要创建UTF-8的数据库,则使用下面的SQL
mysql> create database student_db default character set utf8mb4 collate utf8mb4_unicode_ci;
### 3、查看、切换数据库
mysql> show databases; # 查询数据库
mysql> use student_db ; ## 切换到创建的数据库
mysql> show tables; ## 查询库中的表
### 4、导入mysql数据
mysql> source /data/student_db.sql
四、总结
# 源主机
## 1、数据文件导出
mysqldump -u root -p111222 student_db > /opt/mysql/student_db.sql
## 2、远程上传到目标主机/data 的目录
scp -P 2228 /opt/mysql/student_db.sql root@192.168.1.40:/data
# 目标主机
## 1、登录 mysql
mysql -u root -p2233
## 2、创建 student_db 数据库
mysql > create database student_db
## 3、切换 数据库
mysql > use student_db
## 4、导入
mysql > source /data/student_db.sql