今天,我们需要将测试服务器中的数据库迁移到正式服务器上,因为某些权限等待数据,是需要跟随数据库一起迁移过的,不是只迁移几个表结构,这个工作了说大也大,说小也小,看你怎么做而已,我把我的做法简单的记录一下。
思路:
- 我们常用的,也是最容易想到的,就是将测试服的数据库存储成为SQL文件,然后将文件中的SQL语句在正式服中运行一遍即可。
- 因为表和数据较多,所以将文件复制到编辑窗口进行运行也比较复杂,所以选择将SQL文件直接读取,让数据直接去读取,若这样可以成功,则可以直接结束任务。
- 借助工具。
本人萌新,所以选择思路1,最容易理解也最容易做(可能是我对其他工具都不熟悉,不了解吧!)
存储SQL文件
-
navigate直接存储SQL文件。选择想要的表(可以多选,一个文件包含多个表的信息)或者schema,然后直接转储即可。
-
使用命令行转存。这个转存需要注意文件夹的权限问题。
./bin/mysqldump -u root -p dbName > ./dbName.sql;
参考博文:https://blog.csdn.net/yu532164710/article/details/80630349
运行SQL文件
-
MySQL
- 在命令行,登录数据库服务,并选择使用的数据库
mysql>source /usr/local/mysql/dbName.sql;
参考地址:https://blog.csdn.net/qq_43437571/article/details/87898707
-
PostgreSQL
- 在命令行状态下,登录数据库服务,并选择使用的数据库
\i /usr/local/mysql/dbName.sql;
参考地址:https://www.cnblogs.com/yulinlewis/p/10140906.html
控制台操作数据库指令
很多指令比较模糊了,此处记录一下,不要连接数据库后只会写CRUD,如何操作连接数据库都不知道就很迷茫。
MySQL:
登录
未配置环境 变量::./bin/mysql -h localhost -u root -p
配置环境变量:mysql -h localhost -u root -p
查看所有库 : show databases;
//注意添加分号
选择一个库: use dbName;
查看选择的库中的表:show tables;
创建库:create database dbName;
删除库:drop database dbName;
查看表结构:desc tableName;
其他的不在此处记录。
参考地址:https://www.cnblogs.com/what-lee/p/8686512.html
PostgreSQL:
切换postgres用户:su postgres
或者输入密码切换账号:su - postgres
登录数据库:./psql
(在数据库目录的bin下)
查看所有数据库:\l;
创建数据库:create database 'dbName';
连接数据库:\c dbName;
创建postgis扩展:CREATE EXTENSION postgis;
查询所有的表名:\d;
查看某一张表的表结构:\d tableName;
其他的不在此处记录。
参考地址:https://juejin.cn/post/6844903622422036494