Slashdot Mirror


MySQL 3.23 Declared Stable

redcoat writes "After two long years, MySQL 3.23 has been declared stable. Improvements over 3.22 and .21 include rudimentary transaction support using the BerkeleyDB lib, full-on replication (master/slave configuration) and lots of other goodies. It's been a long wait, but a worthwhile one, no doubt."

38 of 115 comments (clear)

  1. Re:It's about time... by Betcour · · Score: 2

    Well those are neat, but they are minor features to most people. Replication and load-balance between slaves is neat, but what's the point to load balance between slaves when MySQL doesn't even cache queries. With web sites running always the same queries again and again, caching queries would gives incredible speed boost and isn't a very hard feature to implement (quite easier than foreign key or transaction IMHO).

    Sure things improves in MySQL, but huge missing features are ignored in favor of minor improvements here and there. I'm sorry but full-featured transaction, foreign keys, caching, constraints, nested queries, etc. are what people expect their database to do, and they are very MISSION CRITITAL in many situations. Reworking the table file format yet again is not what I'd call a massive improvement.

  2. Re:Declared Stable? by -brazil- · · Score: 4
    Wusthof-Trident 7" Kitchen Knife declared versatile

    Well, compared to what? It doesn't even have a can-opener!

    Do yourself a favor and get yourselves a Victorinox Swiss Army Knife with builtin digital altimeter and thermometer, so you can play with a real knife!

    --

    The illegal we do immediately. The unconstitutional takes a little longer.
    --Henry Kissinger

  3. Re:postgres / mysql by __aanonl8035 · · Score: 3

    I found an interesting article
    by a fellow who has worked on some
    major open source oriented sites.
    He does a quick comparison of
    postgres and mysql here.

  4. Re:MySQL is not alone in the OpenSource World. by orabidoo · · Score: 2
    MySQL have for many years been been considered as a very unstable product and that it have been (still are probably) lacking a lot of really useful features.
    No, MySQL has been rock stable at the very least for the last 2 years. I've been using it for website development since mid 98 or thereabouts, and it's never crashed or lost any data. MySQL is definitely nowhere near the high end of databases when it comes to features, but what it does, it does it really well.
  5. Re:Shameless Plug: Easy MySQL Installation Product by nkg · · Score: 2

    So Do Nusphere.
    I ran tests for a client using both Nusphere & AbriaSQL distributions of php, mysql,apache & perl (nupshere only) on Red hat & win 2k. The Nupshere was easyer to install on both platforms.
    Also unless you pay for support, AbriaSQL use elder versions of all the programs. whixh is bad.

  6. Nobody holds a candle to Oracle yet. by bwt · · Score: 5

    I'm of the opinion that the open source databases are all so substantially behind the capabilities of the proprietary market leader Oracle that I don't consider them viable replacements for enterprise grade data solutions. I work on a system that has 800 concurrent users at any given moment, and I don't see anything remotely close to worthy of consideration in the open source arena.

    Worse, I see Oracle as pulling away. In the last two years, the open source databases have struggled to add features that I view as expected and required while Oracle has added 10X more. Transactions & row-level locking, nested selects, foreign keys, etc... are not optional features. In order to compete, open source needs database projects with forces comparable to the linux kernel, apache, gnome, and KDE projects. I just don't think Larry Ellison is out there worrying about GPL'd competition.

    I don't think Oracle gets the proper attention in the open source community. Oracle has a greater "lock in" effect and has mostly got a free ride from the open source community so far. Oracle is a big gorilla that is rapidly becoming the most secure proprietary software vendor around.

  7. Re:Raves. by TheFlu · · Score: 2
    This is why the replicate user only gets issued the FILE privilege, like the tutorial mentions:

    GRANT FILE ON *.* TO replicate@ip_address IDENTIFIED BY 'password';

    Although, you are correct, as this is a potential problem to be aware of, as listed in the MySQL documentation:

    "Don't give the file privilege to all users. Any user that has this privilege can write a file anywhere in the file system with the privileges of the mysqld daemon! To make this a bit safer, all files generated with SELECT ... INTO OUTFILE are readable to everyone, and you can't overwrite existing files. The file privilege may also be used to read any file accessible to the Unix user that the server runs as. This could be abused, for example, by using LOAD DATA to load `/etc/passwd' into a table, which can then be read with SELECT."

  8. Re:MySQL, bah! by Betcour · · Score: 4

    Say you have an e-commerce app... one table with orders, one with customer account.

    Now say you allow orders to be passed with or WITHOUT an account (don't want to force people on creating an account first).

    you have in your orders table a "customer_account" field, can be NULL or can a foreign key to the customer table.

    Now you can do this in MySQL :

    SELECT * FROM orders LEFT JOIN customers ON orders.custumer_account=customers.account_name WHERE (blablabla)

    And then you have in your results either only orders info (if custumer_account is NULL) or orders AND customers info at the same time. No need for two separated requests...

    So LEFT JOINS are quite usefull in any table that has a foreign key that can be NULL.

  9. 3.23, Replication is powerful by TheCorporal · · Score: 3
    Yes yes, I would have to say the most important in the final stable release of 3.23 is the fact that they have fully working Replication now! Yee ha, talk about a timesaver for our dual DB system.
    One way replication can be used is to increase both robustness and speed. For robustness two (or more) systems can used to switch to a backup server if you have problems with the master. The extra speed is achieved by sending part of the non-updating queries to the replica server.
    Who can resists? Hehe Ill bet a lot of you can, and probably are still peeved about its lack of lots of stuff. But hey, its a step in the right direction right? I was just wondering though, do they have any row-locking features yet? I am too lazy to look =)
    --
    "On weekends, to let off steam, I participate in full-contact origami."
    1. Re:3.23, Replication is powerful by et · · Score: 2

      NuSphere is adding row-level locking. They were one of the companies that invested in MySQL and allowed it to be GPLed. The press release talking about it is at: http://nusphere.com/releases/103000.htm
      They say it is targeted to be available in spring 2001. It sounds like they are implementing yet another storage architecture. They say it will have transactions also. So if you want transactions you will have two table types to choose from Gemini (NuSpheres new one) and bdb that is new with 3.23. So we are seeing open source competition between different modules within an open source project. And it seems each new one is better than the last.

    2. Re:3.23, Replication is powerful by krow · · Score: 3

      I like MySQL, but I am hard pressed to call what they implemented replication. It has zero ability to handle fault tolerance and I don't think that people who are accustom to the big comerical databases are really going to consider it for critical applications until this is implemented well.
      I really wish they would have just called this a RO load balancing option, since when you invoke the word replication it means a lot more.

      --
      You can't grep a dead tree.
  10. It's about time... by Betcour · · Score: 2

    I think MySQL developpement is slloooowwwwwwww. You would think a whole company dedicated to MySQL would allow for lots of new features coming out every week.

    Well, they have been working on the 3.23 for about half a year and all they managed to do is implement a basic transaction feature. And they didn't even did it really by themselves, they had to take some code from the Berkeley DB and use a different table file format.

    I guess by 2017 we can expect to have nested queries, 2045 for row-level-locking and 2078 for true foreign keys... at least Postgresql, with all the its flaws, is improving at a much faster pace and we can expect a whole lot of migration from MySQL to Postgresql sometimes in 2001/2002.

    1. Re:It's about time... by JohnZed · · Score: 4
      Umm... maybe you read a different changelog than I did, but I think that the new features are extremely substantial and useful.
      • Full text search -- This is huge for me, and probably for most other web sites that use MySQL. It's also very non-trivial to implement.
      • New table types -- MyISAM, BDB, heap, etc. are all huge improvements over the old ISAM format.
      • Replication -- Another HUGE feature: load-balance between slave databases, yum. . . This was actually sponsored by VA Linux so /. could use it, right? Wonder how it's working out these days. . .
      • Many smaller things -- Improved maintenance tools, new SQL functions, basic transactions, etc.


      I'm just disappointed they didn't bump up the version number further to let people know how substantial the release really is.

      --JRZ
  11. Re:MySQL is not alone in the OpenSource World. by hexx · · Score: 3

    In the open source world, I find two RDBMS especially good. PostgreSQL and Interbase. They are both fine products and probably near commercial grade RDBMS standard.

    Now, would that be Interbase with or without a compiled in superuser backdoor account? :)

    Of course, for pure SELECT power, nothing beats MySQL. So if you're not inserting data too often, and you don't mind running ISAMCHK every now and then, and data integrity isn't entirely critical (which does work for a surprising number of people), then yay MySQL!

    I use it.

  12. MySQL .21 reportedly has a buffer overflow by Tom7 · · Score: 2


    If you have local users, it's in your best interests to upgrade, since .21 reportedly has a buffer overflow. (See bugtraq) MySQL shouldn't be running as root, but the MySQL user often has access to non-public databases.

  13. Re:Whither Foreign Key Support? by Johann · · Score: 2
    Check out Interbase. Some folks were turned off due to their troubles with releasing the code and the infamous backdoor.

    I have run it on Linux and NT for the past 6 months. I built a real estate lease entry and tracking system using Interbase, PHP, and Apache. It does support full transactions. It does support full FKs. I don't know how it compares to PostgreSQL, but PG was not an option as the client only has NT for the server.

    --
    "You're gonna need a bigger boat." - Chief Brody
  14. Re:MySQL is not alone in the OpenSource World. by Johann · · Score: 2

    I think you can make the argument that Interbase lost 'the battle' because they have a lousy marketing department. Until Interbase went Open Source (tm), I had never heard of it even though I have been building Oracle and Sybase applications for the past 5 years.

    Sounds more like a marketing problem than a functionality problem.Interbase has cool features that other 'commercial' RDBMS do not have (like events).

    --
    "You're gonna need a bigger boat." - Chief Brody
  15. Ten reasons to migrate from Postgres to MySQL by gallir · · Score: 3
    I am one of the team doing PHP development for the Balearic Islands LUG. The current system runs with PostgreSQL and we were analysing the convenience of migrating to MySQL.

    Find enclosed some of the conclusions:

    1. PG does treat BLOBs as part of a tuple, MySQL does.
    2. There are serious problems with PHP and PG transactions for reading and writing BLOBs in the database. PG forces to use transactions, MySQL doesn't.
    3. PG doesn't use any index to speed up sorts (ORDER BY clauses), MySQL does. This is a problem for web pages were most of the result are ordered according to articles IDs or modification dates.
    4. PG, as in V7, doesn't accept tuples of more the 8KB, 32 KB support can be selected at compilation time but speed is seriously affected. There is not this kind of restrictions in MySQL.
    5. PG does not accept "full-text" indexing and queries.
    6. In MySQL you can choose if a file to be imported is being read by the backend or the frontend.
    7. You have to run VACCUM ANALYZE in PG from time to time in order to get your queries optimised.
    8. PG doesn't allow to do BLOB content search, MySQL does.
    9. PG accept RULES for executing SQL sentences on table insert or updates, MySQL doesn't.
    10. NASA has migrated one of their webs to MySQL ;-)
    We found that the previous reasons justify the migration to MySQL.

    --ricardo

    --
    sgis ddo ekil t'nod i
  16. Comment removed by account_deleted · · Score: 3

    Comment removed based on user account deletion

  17. Congratulations to the team by SweenyTod · · Score: 3

    Well done guys and girls.

    I'm of the opinion that along with several other open source applications, MySQL is what's helping Linux make large inroads to the enterprise market.

    A while back I priced a WinNT solution for a basic e-commerce site, with MS-SQL 7, ASP, and all the rest of the NT fluff needed. It came to over $5,000 Australian dollars (about $7.33 USD :) The equivilent freeware solution came to exactly zero dollars (duh). (hardware costs not included, btw).

    MySQL was a large part of the equation. I was and still am very impressed with it.

    Again, well done to the team.

    --
    Alas gallinaceas de urbe bovis volo
  18. GPLed by aozilla · · Score: 2

    The biggest "feature" of 3.23, of course, is the fact that it's GPLed. 3.22 is not. As for switching to Postgresql, I need enum, I need mediumint(5) unsigned zerofill. To some extent it's just programmer laziness, but it's nice to have your code not need to do so much data type checking and formatting. User-defined data types and/or stored procedures would be preferrable, then I wouldn't have to use tinytext for urls, for instance, but for now the only two real choices are MySQL and Postgresql.

    --
    ok then your [sic] infringing on my copyright! Could you as [sic] me next time before STEALING my comments for your own?
  19. Whither Foreign Key Support? by Carnage4Life · · Score: 5

    I was really hoping that proper foreign key support would be added by know but was dissappointed to see it missing from the list. I decided to see if it was in the TODO list and was surprised to see full foreign key support in the Things that have to be done sometime section instead of the Things that should be in 4.0 or the Things that must done in the real near future sections. So it looks like full foreign key support won't be around till 5.0 or later. *sigh*

    Lack of full foreign key support (and maybe transactions) is the only reason I don't consider mySQL a proper relational database management system as it claims sinceit doesn't enforce relationships via referential integrity checks. In many large complex applications, having referential checks built into the DB is very useful and it would be a great boon if mySQL had this functionality.

    Grabel's Law

  20. Shameless Plug: Easy MySQL Installation Product by arc.light · · Score: 2

    AbriaSoft has a free download for "AbriaSQL," a distribution of MySQL, PHP, and some other stuff with a wizard-driven interface that takes just a few minutes. It fixes the MySQL install problem in RH7, also. Check'em out...

  21. Re:MySQL, bah! by Micah · · Score: 3

    That's also the case when you have two tables, say customers and widgets, and customers can have any number of widgets, including zero. Say you want to display a list of all customers and the number of widgets they have. Implementing it with a simple join, customers with no widgets simply won't show up in the result set. With MySQL there's a way to do it right with left joins. With PostgreSQL so far I've had to use two queries. If there's a way around that someone please tell me. :-)

    That's the biggest disadvantage of PG I've found, and it's not *that* big a deal.

  22. Joke? by Fervent · · Score: 2
    from the congratumlations-to-all dept

    Someone fill me in. I don't get the joke.

    Or is it just a really bad typo?

    -
    -Be a man. Insult me without using an AC.

    --

    - I don't care if they globalize against free speech. All my best free thoughts are done in my head.

    1. Re:Joke? by American+AC+in+Paris · · Score: 3
      from the congratumlations-to-all dept

      Someone fill me in. I don't get the joke.

      Or is it just a really bad typo?

      No, no...it's just a minor problem with MySQL data integrity. It seems to happen a lot here on Salshdot...

      information wants to be expensive...nothing is so valuable as the right information at the right time.

      --

      Obliteracy: Words with explosions

  23. Exactly! by jonfromspace · · Score: 2

    Not every aplication is going to be "Mission Critical" we have been using MySQL in my shop for a TON of applications. (Search Engine, Account Data, and for a LARGE scale File Sharing DB) While MySQL is not oracle, it's cost/performance ratio is pretty darn good.

    --
    I am become Troll, destroyer of threads
  24. Good upgrade by Animats · · Score: 3
    I've been running 3.23.28-gamma on NT for a while, with no problems at all. I'm glad it's made it to "stable". Now the main server (a Linux box) can get upgraded.

    The people who are reporting MySQL crashes should submit bug reports. The MySQL people claim they haven't lost data in years, and if that's not true, it needs to be publicized.

  25. Raves. by TheFlu · · Score: 3
    I just have to rave about the database replication included with MySQL, what a fantastic feature. If you are interested in setting up replication yourself, you should read the nice tutorial on it over at PHPBuilder. The tutorial can be found here.

    The replication feature has been changed a little since the tutorial was written, so you may want to check out the documentation at the MySQL site. Here's a copy of my own /etc/my.cnf file from both machines, which are setup for 2-way replication, for reference (perhaps I'll get around to posting a tutorial of my own later today on The Linux Pimp

    Main server /etc/my.cnf file
    [mysqld]
    log-bin
    master-host=ip_address_of_backup
    master-user=replicate
    master-password=your_password
    server-id=1

    Backup server /etc/my.cnf file
    [mysqld]
    log-bin
    master-host=ip_address_of_main_server
    master-user=replicate
    master-password=your_password
    server-id=2

  26. Re:MySQL, bah! by Fast+Ben · · Score: 4

    Does Postgres even support LEFT JOIN yet?

    The LEFT JOIN is something I wish they (Postgres) would put in, but then, Oracle don't support it either...
    The reasons I prefer Postgres are, to name a few:
    Transactions
    Sub SELECT's
    Using CASE WHEN ... END when SELECTing from tables with 30,000+ rows is very fast (another thing Oracle don't support at all)

    Postgres used (pre 6.5.3 i think) to have some memory leaks when using transactions, but this seems to have been fixed in later versions.

  27. Real deal. by TheFlu · · Score: 2
    Okay here's the scoop:

    /etc/my.cnf is used to set global options
    mysql-data-dir/my.cnf is used to set server-specific options (RedHat defaults to /var/lib/mysql) or
    ~/.my.cnf to set user-specific options.

    My original post suggestion of /etc/my.cnf works fine, but it opens you up to the potential security issues discussed above, as isil so wisely suggested. I believe the proper thing to do is to put your my.cnf file in /var/lib/mysql. Thanks for the correction.

  28. Re:MySQL, bah! by baywulf · · Score: 2

    The next version of PostgreSQL (in beta testing right now) is supposed to support outer joins, larger row size (8-32K limit currently) and write ahead logging among other improvements.

  29. I hope that they didn't sacrifice speed... by alexhmit01 · · Score: 5

    This is what I love about the MySQL/PostgreSQL silliness. Postgres is a mostly complete DB, with some things that need work. MySQL is a fast hack with little overhead. For real solutions where you can apply heavy engineering, MySQL's speed advantages can be mitigated away. However, it serves a niche.

    If you have a little web site (or even a big one) where integrity is not key and ease of setup is important, MySQL serves that niche. If the improvments don't sacrifice their advantages, go MySQL. However, if they move towards completeness at the expense of speed... well, how silly. We already have Postgres...

    Postgres is trying for speed and MySQL for correctness. Yeah... we get two similar systems. I would rather they focus on their advantages so we maintain two useful system.

    As a lover of DB theory, I hate MySQL. As a lover of low barriers to entry, I love it. I'd hate to see MySQL lose it's niche by becoming too general.

    Alex

    1. Re:I hope that they didn't sacrifice speed... by Karora · · Score: 3

      Performance is critical in _any_ database, and you can't add features at the expense of performance and expect to keep your customers happy. You can add slowish implementations of new features, but you better not downgrade existing performance.

      PostgreSQL 7.1 is now in beta and should be out by the end of February (maybe earlier). With support for column sizes up to 2GB(!), as well as many other refinements, I certainly don't think that they are sacrificing feature efforts to performance enhancement.

      That's not to say I find it slow either. My most recent web development (replacing a prior ASP/MSSQL/IIS installation :-) at http://newsroom.co.nz/ manages to do around 30-odd queries for the front page and still pops it out in just under 0.1 of a second on a Duron 700 based system.

      I looked at MySQL (and I help out a client who uses it on occasion), but the potential performance improvement isn't worth it to me to lose all those neat features.

      --

      ...heellpppp! I've been captured by little green penguins!
    2. Re:I hope that they didn't sacrifice speed... by theonetruekeebler · · Score: 2
      Well, performance (defined as quickness) is nice, but it is only one of three critical prongs, the other two being integrity and availability. If it's fast, but tends to crash halfway through a write operation, you don't have integrity. If it's stable but has to be taken down for an hour a day for maintenance, you don't have availability.

      The glib statement is that among speed, integrity, availability and affordability, you can pick three. InterBase kind of spoils the equation, but when you compare MySQL, PostgreSQL, and, say, Oracle, you get the idea.

      Disclaimer I had Chinese food for lunch.

      --

      --
      This is not my sandwich.
    3. Re:I hope that they didn't sacrifice speed... by alexhmit01 · · Score: 2

      Correctness = Proper RDBMS Implementation.

      SQL is a language for interfacing with RDBMS, not a reason for existance.

      I've worked with both. I like that MySQL is fast with little effort. Connection pooling can mitigate the speed issues, but there is more work in that.

      Again MySQL is good for a user with little RDBMS needs that needs a quick way to access data. Postgres is close to being a "real" database.

      Alex

  30. Re:Something neat by Betcour · · Score: 2

    You could already do that before with some trickery :

    SELECT something, (RAND()*10) as random FROM table ORDER by random LIMIT 1

    the *10 is necessary or MySQL would optimize the request and compute RAND() one time for all rows...

  31. MySQL is not alone in the OpenSource World. by kaunio · · Score: 4

    If find the big support for MySQL somewhat surprising. When I'm running a RDBMS, I want stability, even if it happen to be a commercial or a open source one.

    MySQL have for many years been been considered as a very unstable product and that it have been (still are probably) lacking a lot of really useful features.

    In the open source world, I find two RDBMS especially good. PostgreSQL and Interbase. They are both fine products and probably near commercial grade RDBMS standard.

    So even if MySQL is now considered stable. So what? We have other choices, which have been developed with great care for many years and have been added features from their stability, not the opposite.

    So in my humble opinion, if you want to run anything (semi)serious, definately do not run MySQL, there are MUCH better options out there.