mysql数据库版本控制dbv使用,mysql数据库版本dbv
版本控制软件有svn git等等,这些工具控制源码版本非常好用,但数据库的版本控制呢?传统方法是导出来整个数据库,这样的团队协作效率非常低。有没有一种工具,能方便同步数据库结构的呢?有的,也很多,本人使用dbv,能集成到PHP+MYSQL的项目中,很方便。
dbv1.1版本下载 https://github.com/victorstanciu/dbv/archive/1.1.zip
使用方法:
1. 下载后,解压到已经在git或SVN版本软件控制下的工程目录下,比如本人的工程目录是93zp_project, 解压后,dbv在93zp_project/dbv-master ,把dbv-master/data设置为可写权限。
2.把config.conf.sample 修改为config.conf 修改如下红色地方
define('DB_HOST', 'localhost');
define('DB_PORT', 3306);
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '123456');
define('DB_NAME', '93zp');
其中 93zp就为要版本控制的数据库。
3.访问 http://localhost/93zp_project/dbv-master/index.php 输入用户名dbv 密码dbv, 可以再config.conf修改这个用户名密码。就可以看到93zp的数据库表了,每次修改的记录都可以看到如下页面:
列【In DB】表示 记录是否在数据库中,列【On disk】表示记录是否导出到硬盘了。上面看到On disk的值为NO表示都还没有导出修改记录。
4.按按钮【Export to disk】,把记录导出,这样修改记录就能保存在dbv-master/data/schema 下面了。
团队成员更新工程后,也通过访问http://localhost/93zp_project/dbv-master/index.php 能看出哪些记录需要导入到数据库中的,勾选相应的记录,按按钮[push to databse]就可以同步数据库了!同步后,In DB是 YES 状态,比如下图, 修改记录aaa 与 ssss 都已经同步了。
你需要把那个shows.MYD 所在的那个文件夹拷贝到mysql安装目录的data目录下。
如果你是默认安装,应该在c:\Program Files\MySQL\MySQL Server 5.0\data\
注意是整个shows那些文件所在的目录。连目录一起拷贝哈。按你的描述,就应该是data目录了。 将d:\data1\下的data目录拷贝到c:\Program Files\MySQL\MySQL Server 5.0\data\下面。
完成之后,重启mysql看看,可以运行services.msc 在里面找到mysql 重新启动mysql。(前提是你安装的时候配置了mysql服务,我想你应该配置了吧)
重启之后 进入命令行,
然后mysql -uroot -p 进入mysql
show databases;
看看能不能看到一个叫data数据库。
如果能看到,恭喜你, 继续下面的命令。 如果不行,看后面的方法B。
use data
alter table shows add 列名 类型 长度 等等
举例:
增加一个int型名为id的列
alter table shows add id int(11) not null default '0';
alter table shows add name varchar(32) not null default '';
如果需要指定列的位置,假如加入的列在number列后面。那么
alter table shows add id int(11) not null default '0' after number;
方法B。
如果按之前说的文件拷贝方式,重启进入mysql后看不到data 这个数据库,那么可能是你们的mysql版本不一致造成的,应该说这个可能性很大。
那么,你让你朋友给你导出数据库内容。 用mysqldump命令。
mysqldump -uroot -p -D 数据库名.表名 > sss.sql
你拿到这个sss.sql后 再把它导入到你的mysql数据库。
在cmd下运行
mysql -uroot -p test<sss.sql
或者
在mysql命令行下运行
use test
source sss.sql
这样shows表就导入到你的test数据库了。
剩下的就简单了哈。和前面没啥差别。
use test
alter 命令
怎样,按这个方法,一切搞定。
还有问题的话,百度hi 我 或者发信zwonder@126.com
祝你顺利
首先究正你的一个印象:MySQL功能也很强大,只是对于可视化界面操作工具少,所以给很我初学者造成难上手的印象。
它的优点还有:开源,免费,支持非WINDOWS操作系统(并且运行速度比在WINDOWS上还要快),速度快,二次开发(除有需要特定应用,一般是不需要二次开发的)。
大公司更注重版权,开发人员也不能随便用盗版,所以,如果全部用正版数据库,肯定增加成本的。