一、应用场景
由于要把测试服务器上的数据库迁移到正式服务器上,因此需要做数据库的迁移。这里记录一下。
二、数据库迁移
1、新建数据库test
create database test;
2、进入数据库,创建数据表test
create table test1(id int(10) primary key, name varchar(30), age int(10));
3、生成.sql文件
(1)这里生成.sql文件,需要用到mysqldump,如果找到该命令的话,建立一个软连接到/usr/bin 下。例如,你的mysql 路径为:/usr/local/mysql,则执行
ln -fs /usr/local/mysql /usr/bin (PS:这里不需要进入到mysql执行命令)
(2)执行mysqldump命令
1)为某个数据库生成.sql文件
mysqldump -u 用户名 -p 数据库>你想要生成.sql文件的路径
2)只要数据库的表结构
mysqldump -u 用户名 -p -d 数据库>你想要生成.sql文件的路径
3)生成某个数据库下面对应某个表的表结构
mysqldump -u 用户名 -p -d 数据库名 表名>你想要生成.sql文件的路径
4)生成某个数据库下面对应某个表的表结构+表数据
mysqldump -u 用户名 -p -d 数据库名>你想要生成.sql文件的路径
我这里执行的命令是:
mysqldump -u xx -p pzsh>/home/pzsh/test.sql
然后去/home/pzsh下面看看,就会发现已经生成.sql文件了
4、使用ftp工具,把生成的.sql文件放到新服务器上去
(1)使用FTP工具下载.sql文件
(2)使用FTP工具把.sql文件上传到指定路径
(3)我这边是把.sql文件上传到新服务器的/home/pzsh目录下
5、导入到服务器
(1)进入到新服务器的mysql中
mysql -u 用户名 -p
(2)先创建数据库,按照.sql文件中的数据库名字。
create database test;
//进入到创建的数据库中
use test;
//查看当下的数据表
show tables;
//此时数据库中是没有任何表的
(3)执行source命令,导入.sql文件
source /home/pzsh/test.sql
(4)查看test数据库中的表
show tables;
此时发现我们已经把表都转移过来了。
6、如果两台服务器的数据库版本不兼容,则在root用户下执行下面的命令
mysql_upgrade -u root -p
输入密码即可。
end