文章目錄
一、環境說明
源主機(A) | 目標主機(B) | |
---|---|---|
IP | 192.168.1.20 | 192.168.1.40 ,端號是 2228 |
Mysql |
二、源主機(A)的操作
2.1、遠程登錄目標主機(B):
在源主機(A)上,ssh登錄目標主機(B)
ssh [email protected]
輸入密碼
ssh 默認端口號是22,如果不是默認的端號時,需要指定端口號:
ssh [email protected] -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 [email protected]
### 3.1、如果端口號不是默認的,則需要特別指出
ssh-copy-id [email protected] -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 [email protected]:/data
使用指定端口號(如端口號是 2228):
scp -P 2228 /opt/mysql/student_db.sql [email protected]:/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 [email protected]:/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