如何发布使用mysql作为后台数据库的软件

如题所述

数据库部分是不是把datadir目录下的所有文件拷贝过去,还有my.ini或者my.cnf文件拷贝过去,这个数据库就可以正常运行了?有没有真正时间过的朋友?

我从帮助上看到,上面这个方法的一个必要条件是目标机器和我的机器的浮点数类型一致,请问这个是什么意思?是不是兼容x86的cpu都是一致的?无论是intel还是AMD.

2,请问大家使用什么方式连接mysql数据库,我使用的是myODBC,听说还有OLEDB,有没有用过的朋友?那个好?

附:
将 InnoDB 数据库移动到另一台机器中
只要机器的的浮点数格式一致,那 InnoDB 的数据和日志文件在任何平台上均是二进制兼容的。 你可以通过简单地复制所有相关文件的方式来移动一个 InnoDB 数据库,方法 已在上面的章节中给以描述。如果在两台机器上浮点格式是不同的,但是你没有在你的表中使用 FLOAT 或 DOUBLE 数据类型,那么也可以使用这种方法:仅仅是复制相关文件。如果机器的格式不同而又使用了浮点数据,那么你不得不通过使用 mysqldump 和 mysqlimport 来移动那些表。

当向数据库中导入数据时最好将自动提交(autocommit)开关关闭将提高性能,如果插入事务用尽所有可用表空间将会引起大的大的回滚。建议在插入完整个表或表片段后再提交事务。

------Solutions------
你存成SQL语句发布不就可以了吗?
------Solutions------
服务器端需要安装MySQL,其实你看看自己装的MySQL,是MySQL Server and Client。
至于字节顺序,MyISAM的平台无关性表示不受直接顺序的影响。InnoDB表就不一样了,因为它的数据库整个是一个二进制数据的文件,不同架构的计算机肯定不能兼容。这里,不同架构一般是指Intel体系和Alpha、PowerPC等其他CPU的区别。
但是,实际上没有说把文件拷贝了来发布数据库内容的,一般程序不包括数据库内容,只包括结构,如果有内容,通过导入、导出就行了,没那么麻烦。
我使用MySQL C API连接据库,效率高、发布方便(都链接好了)。
------Solutions------
谢谢 Mackz(在相互)

用程序来初始化,我也考虑过,但有一个问题,如果root用户的密码被
不怀好意的人掌握,他可以通过看processlist来看到你的所有初始化过程,
包括修改密码动作,我想到了解决办法,但是还没有实践。

另外,我使用的是VB开发,你说的mysql C API是不是直接
连接?是否是用C来开发才可以用的,
如果让我用C来开发,我想我会疯的。
------Solutions------
VB
就用 MyODBC 吧,
建议用 Delphi ,
------Solutions------
问题很简单,1安装程序先安装myxql 2 执行sql语句建立数据库和表,3 用mysql 的loadfile 从文本文件里道入你要的数据,用C 接口一点也不麻烦,myodbc的效率损失太大
------Solutions------
谢谢 kkk3k3k() 老兄指点,我在实践中发现处理办法比你说的还简单。我的做法是:
1,把文件(包括数据文件)拷贝到安装路径。
2,修改my.ini文件
3,运行mysqld-nt --install注册服务

我现在的程序是VB做的,使用ADO,目前测试记录在20000左右,觉得速度还可以。

对于用C来写程序,我比较感兴趣,因为我想在做报表统计分析的时候使用,
也许可以提高速度。

有个问题想请教?使用C接口就不用通过myodbc?如果服务器和客户端在一台机器上,
用C不通过odbc可以访问数据库吗?
------Solutions------
使用linux的sock连接,连接性能通常可以提高30%左右!
在数据移植过程中,通常直接复制文件是最快的,但如果是从win32移到linux系统中,请确认移植后的所有myi,myd文件后缀名为大写,否则系统会提示数据库损坏!
------Solutions------
系统数据复制过程中,如果主机数据库不能停止使用,如果此时库中使用的是不是innodb格式,建议采用系统热备份的形式来实现。如使用的是innodb格式,目前无办法,听说5.0可以解决!
------Solutions------
系统热备份?如何实现,有文章吗?
是通过系统(比如说linux)还是mysql本身
------Solutions------
系统热备份不是免费的,记得www.mysql.com上面有这方面的资料
------Solutions------
如果青春之歌开发的不是遵循GPL的软件,就这种行为我有充分的理由把他列入黑名单。
------Solutions------
系统热备份是免费的!
------Solutions------
系统热备份是免费的!自己看manual.html之replication!
------Solutions------
除了innodb的热备份是收费的,他是另外专门开发的。
------Solutions------
的确是免费的,我也看了。
可能我以前看到热备份是第三方的商业软件
------Solutions------
呵呵,这一类数据热备份程序与MIS系统应用比起来要简单得多了,
大伙在做系统时完全可以自己编程来实现,
:)

对于数据库的备份方式 ,
一般来说可分为两大类,
1、 数据导入与导出

2、 直接复制数据库表二进制文件,

第一种方式是在数据库服务不停止的状态下进行数据备份的,
第二种方式必须将数据库服务停止

第一种方式转储的数据是以一个文本文件的方式保存的,但数据被损坏时很容易看得出来
第二种方式数据是以一个二进制文件形式保存的,当数据被损坏时不容易被发现

第一种方式可以将数据恢复到任何一个系统平台上,
第二种方式却有所限止
如果使用的是 MySQL 3.23,
对于 MyISAM 表,如果两种系统的体系结构支持同样的
浮点格式,那就可以直接将 `.frm', `.MYI', and `.MYD' 文件拷贝过去,
否则需要使用数据导出
对于 ISAM 表,只要是在两种不同的系统或不同的体系结构之间移动数据,
就必须使用数据导出与导入
而对于 InnoDB 表, 只要机器的的浮点数格式一致,
那么数据和日志文件在任何平台上均是二进制兼容的。
你可以通过简单地复制所有相关文件的方式来移动一个 InnoDB 数据库,
并将 my.cnf 配置文件一同复制到新的系统中。
如果在两台机器上浮点格式是不同的,
但是你没有在你的表中使用 FLOAT 或 DOUBLE 数据类型,
那么也可以使用这种方法:仅仅是复制相关文件。
如果机器的格式不同而又使用了浮点数据,
那么你不得不通过使用 mysqldump 和 mysqlimport 来移动那些表。

上面都说了第一种方式的优点,
但是,第一种方式有一个最大的缺点就是:
当你在做转储时,为了保证数据是当前最新的,你不得不使用 LOCK TABLE !
在数据导入时,也是如此,因此这会阻塞其它用户的连接
它的备份与恢复速度比较慢,

第二种方式的备份与恢复速度很快,

通常,两种方式同时使用是被极力推荐的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-05-05

MySQL云数据库创建、配置与使用教程,五秒钟创建属于自己的mysql云数据库,申请地址:xmjar.cn

相似回答