mysqlmysqldump数据库迁移
⽂章⽬录
⼀、环境说明
源主机(A)⽬标主机(B)IP192.168.1.20192.168.1.40 ,端号是 2228 Mysql
⼆、源主机(A)的操作
2.1、远程登录⽬标主机(B):
在源主机(A)上,ssh登录⽬标主机(B)
ssh root@192.168.1.40
输⼊密码
ssh 默认端⼝号是22,如果不是默认的端号时,需要指定端⼝号:mysql默认端口
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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。