It's definitely possible to run MySQL Server (with all its
tables) on a CD-ROM, MySQL is extremely suited for such
applications. It can run entirely from CD-ROM and can be
configured to be completely read-only. This has even recently
been done by someone in Melbourne to create a Wikipedia
DVD.
Yes it need to be able to create some temp tables, but you can
set the path for that. So that's not an issue. Basically, it's
all about configuring everything appropriately for this
particular environment. But it's been done, this is not "the
frontier" ;-)
MySQL: Can MySQL be run from a CDROM?
The question is asked. The answer is - yes!
Temporary tables can be store anywhere - e.g. the system’s temporary directory (/tmp on unix, probably c:\temp or something on windows… i’m sure there’s one of those %FOO% things for it).
IIRC you may need to start it with a flag or something - but the embedded library - libmysqld (where the mysql server runs within your process - you link to libmysqld instead of libmysql).
Of course, if you’re linking mysql with non-gpl code, you’ll need a license from us.
UPDATED (Had to fix some inaccuracies)
And I thought we had grown out of this....
Part of today's SDForum Open Source in the Enterprise executive summit involved some furious debate on where open source is going. I had the interesting luck to sit at a table with John Roberts (CEO, SugarCRM), Mary Coleman (Managing Partner with Walden International, a smart and active (and savvy) open source investor), and representatives from two of software's biggest proprietary vendors, among others.
It's [one of] these last two who surprised me with a willful disregard for facts about open source adoption. I'm actually used to an increasingly sophisticated view of open source from both companies, but what I heard today was an embarrassment to [one of their employers].
It was …
[Read more]For those folks out there that are used to Derby, or HSQL, here‘s a way to embed MySQL into your Java application that you might not have seen.
As a bonus, you get all of the third-party tool support for MySQL that you‘re used to (including easy access from Perl, PHP, etc), and it doesn‘t steal heap space from your Java application.
Prerequesites:
(1) Connector/J 5.0.0 or newer
(2) Connector/MXJ 5.0.0 or newer
Make sure that the JDBC driver, and the .jar file from Connector/MXJ are in your classpath.
Craft your JDBC URL like so after registering the driver:
“jdbc:mysql:mxj:///test“
(notice the :mxj: there, which means use the MXJ MySQL server “container” (for lack of a better word)
When …
[Read more]For those folks out there that are used to Derby, or HSQL, here's a way to embed MySQL into your Java application that you might not have seen.
As a bonus, you get all of the third-party tool support for MySQL that you're used to (including easy access from Perl, PHP, etc), and it doesn't steal heap space from your Java application.
Prerequesites:
(1) Connector/J 5.0.0 or newer
(2) Connector/MXJ 5.0.0 or newer
Make sure that the JDBC driver, and the .jar file from Connector/MXJ are in your classpath.
Craft your JDBC URL like so after registering the driver:
"jdbc:mysql:mxj:///test"
(notice the :mxj: there, which means use the MXJ MySQL server "container" (for lack of a better word)
When your …
[Read more]For those folks out there that are used to Derby, or HSQL, here‘s a way to embed MySQL into your Java application that you might not have seen.
As a bonus, you get all of the third-party tool support for MySQL that you‘re used to (including easy access from Perl, PHP, etc), and it doesn‘t steal heap space from your Java application.
Prerequesites:
(1) Connector/J 5.0.0 or newer
(2) Connector/MXJ 5.0.0 or newer
Make sure that the JDBC driver, and the .jar file from Connector/MXJ are in your classpath.
Craft your JDBC URL like so after registering the driver:
“jdbc:mysql:mxj:///test“
(notice the :mxj: there, which means use the MXJ MySQL server “container” (for lack of a better word)
When …
[Read more]
I got an interesting comment the other day from Aniket, a reader
of my blog.
He asks:
i'm in the process of designing a GPS system and wanted to know
that is it possible to keep MySQL and the database on a CDROM and
query it from a C IDE(KDevelop)?
My answer:
While I haven't done this (tried to run MySQL from a CDROM), I
would think that this is not possible since MySQL needs to create
temporary tables from time to time and I can't see that happening
if MYSQL and the database are installed on a CDROM.
Am I right?
What do you guys (MySQL experts) think?
Can a database and MySQL be run from a CDROM? What if plenty of
RAM is available?
Has anyone been able to do this before?
What alternatives exist for Aniket?
Thank you,
Frank
I am not sure why this thread ended up on the pgsql hackers list, but nobody took any measures from stopping it and instead a very interesting and detailed discussion of the pros and cons of surrogate keys in RDBMS schema design ensued. So this thread should be of interest to anyone using an RDBMS be it MySQL, PostGreSQL, SQLite or any other alternative.
This blog post should not be mistaken as an intivation to post to the hackers mailinglist as I think most points have been raised at this point. If you do feel you have something to add please make sure you have actually read through the thread and the therein linked blog posts. Just putting in this disclaimer so that I do not get my head chopped off for posting the thread link :-)
As a quick primer: WTF is a surrogate key?
A surrogate by definition is an artificial or …
[Read more]I was wondering how people handled this situation themselves. I'm personally trying to decide whether my constants be in the class files, or a global configuration file. Right now I have a global.conf.php which contains things like:
<?php
define('MYSQLUSERNAME','mysqluser');
define('MYSQLUSERPASS','mysqlpass');
define('INCLUDE_PATH','/path/to/my/include/files') ;
define('CONTACTS_TABLE','sometablename');
?>
So, my question is: Is it better to have one big configuration file, or should some things be defined on top of the individual classes ? (CONTACTS_TABLE.. is a clear example). I see pros and cons for both approaches.
…
On one of my databases, MySql is not using indexes when choosing
a weighted-random row from a MySQL table.
For e.g. a query like this:
SELECT cid from category where [...] order by rand()*weight DESC
LIMIT 1
is not using indices as shown by EXPLAIN statements. Obviously
this overloads the server.
My question is that what can be done to select a weighted-random
row from a MySQL table more efficiently? Has this been improved
in MySQL5?
How can MySQL be forced to use indices for queries like this
where we have weighted rand() function involved?
Any pointers are appreciated.
Frank