Slashdot Mirror


MySQL Readies Release Candidate For 5.1

Anonymous Dolphin writes "MySQL has released plans for a final RC for the MySQL 5.1 server. Monty Widenius, the CTO and founder of MySQL, has put up a request for more feedback from the community. You can get the latest RC here. Please help with the testing of 5.1 and report your bugs here."

31 of 168 comments (clear)

  1. Hosting providers by Aminion · · Score: 2, Interesting

    Whenever I read about a new MySQL version, I think about all of the hosting out there that are still running 4.x. I understand that you can't simply upgrade to the latest version as it would mess up customers' applications, but how about offering customers different versions of MySQL? Is it really that hard to do? A growing collection of well designed web applications require MySQL 5.x and it sucks to miss out om them simply because your hosting provider isn't database flexible enough.

    1. Re:Hosting providers by Bill,+Shooter+of+Bul · · Score: 3, Interesting

      Some do. Bluehost asked me when I signed up what versions of popular web tools I wanted MySql 4 vs 5 was one of the options.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    2. Re:Hosting providers by mattmcm · · Score: 2, Informative

      1and1 allow you to choose both 4 and 5. You choose the version when creating a database on their management page. I don't know about other webhosts, though.

    3. Re:Hosting providers by xiaomai · · Score: 5, Informative

      This isn't really true of an upgrade from Mysql 4.x -> 5.x. MySQL changed some things (notably their JOIN syntax) to make them more compliant with the ANSI standards. So assuming you're dealing w/ PHP/MySQL programmers that only knew the MySQL way to do joins, their applications may break on upgrade.

      For more information, see the section entitled "Join Processing Changes" here:

      http://dev.mysql.com/doc/refman/5.0/en/join.html

    4. Re:Hosting providers by tinkertim · · Score: 3, Interesting

      Hosting providers that are worth their weight will typically use external MySQL (clusters) and offer various versions. They've learned the painful lesson that running a bunch of over-allocating services that are open to the world on one box only leads to customers canceling due to down time.

      For instance, the $20 I pay a month gets me access to 4.x and 5.x, each version being its own shared cluster.

    5. Re:Hosting providers by pixr99 · · Score: 2, Interesting

      A growing collection of well designed web applications require MySQL 5.x

      Let me start by saying that I agree with you. It would be great if hosting providers could give us a bit more choice.

      Now I'd like to disagree with just the bit of your statement that I've quoted. By definition, a "well designed" web application can never *require* MySQL 5.x. Well designed web application have abstraction layers and don't care whether you use MySQL, PostgreSQL, SQLite and so on. If web programmers built a proper abstraction layer into their apps, they could support MySQL x.y along with all the other versions of MySQL with little added effort.

  2. XML Functions by weston · · Score: 3, Interesting

    First release with native XML functions. If there's indexing behind some of the XPath, this could be a very interesting release indeed.

    I'd definitely be interested to hear what it's also missing that more XML aware databases include, though.

    1. Re:XML Functions by larry+bagina · · Score: 2, Funny

      well, since this is MySQl, the xml functions are probably missing atomicity, consistency, isolation, and durability :-)

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  3. Sigh. Forgot Link. by weston · · Score: 4, Informative
  4. nice feature set by RelliK · · Score: 4, Insightful

    Traditionally, that is to say, up until MySQL 5.1.22, InnoDB handled newly inserted records into an InnoDB table with an AUTO_INCREMENT column by using a global counter which held the last value for the auto-incrementing column. A lock would be placed on this counter for the duration of the SQL statement which did the inserting...
    The new server variable, innodb_autoinc_lock_mode controls how InnoDB treats statements which insert rows into an InnoDB table with an AUTO_INCREMENT column. Depending on your environment â" specifically, whether you are using the binlog for replication or recovery purposes and whether you are executing "batched insert" statementsâ" you can set this variable to 0, 1, or 2. 0 corresponds to the traditional mode, and is not recommended except for very specific scenarios (see the doc link above). 1 represents "consecutive mode" and is the default. In this mode, only statements where InnoDB cannot determine the number of rows to be inserted will use the global auto-increment lock. All other "simple insert" statements (even those inserting multiple records in batch mode) will use a faster, lighter locking mechanism, which results in significant scalability increases. The final setting, 2, represents an "interleaved" mode and has even greater scalability improvements, but cannot be used in scenarios where the binary log is being used for recovery or statement-based replication.

    So now mysql can handle two concurrent inserts? Nice! Except for the fact that this new amazing option is incompatible with replication. MySQL is going to become a real database. Any time now...

    --
    ___
    If you think big enough, you'll never have to do it.
    1. Re:nice feature set by Bill,+Shooter+of+Bul · · Score: 5, Informative

      Not exactly. 5.1 introduces row based replication as opposed to the statement based replication that is incompatible with the new behavior. Statement based replication has the slaves execute the exact same statement on the slave. Row based just passes the new values of the modification to the slave.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    2. Re:nice feature set by Anonymous Coward · · Score: 2, Interesting

      How about we fix the obvious too? This bug makes it impossible to have an Insert trigger and an update trigger both updating a table. Trying to do so triggers database duplicate keys because there isn't a good lock on the auto-inc value.

      A bug, marked as serious and yet left pending since Feb'07 !

  5. Re:Do people trust this project anymore? by Bill,+Shooter+of+Bul · · Score: 5, Informative

    You haven't kept up. Sun stated that nothing was going to change with the license. The "closed source" portion had already been released under the gpl and Sun said it would stay that way. In Fact they just moved from the closed source bitkeeper to bazaar for source code control, allowing anyone to track their progress.

    PostgreSQL is a fine Database as well. MySql just seems to be used more in web environments.

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  6. Re:So will Postgres ever catch MySQL? by landonf · · Score: 3, Informative

    I'm unfamiliar with MySQL's partitioning -- is it radically different from postgresql's partitioning?

    I'm using inheritance to implement table partitioning with a rather large (50+ gig) PostgreSQL/PostGIS database. Constraint exclusion allows the query planner to use CHECK constraints to avoid even looking at tables where conditions contradict the constraints.

    --
    http://plausible.coop
  7. MySQL payments - anyone forced yet? by Anonymous Coward · · Score: 2, Insightful

    Does anyone know of anyone whom MySQL has forced to pay them for their database?

  8. Re:Do people trust this project anymore? by tinkertim · · Score: 4, Interesting

    It was interesting to see Sun's reaction.

    Apparently, MySQL AB (prior to purchase) were the ones contemplating making the move to more proprietary tools. It was set in motion and left on the table, then Sun purchased them.

    Sun basically said "We have no need to put this in play, we don't make our money from a single product like MySQL AB did .."

    A lot of people Criticized Sun for the idea, however the idea was the brainstorm of MySQL AB, not Sun.

  9. Re:Do people trust this project anymore? by Majik+Sheff · · Score: 2, Insightful

    Your response was condescending and presumptive. I never said I favored MySQL or any other DBMS for that matter. Your snotty little comment about playing in the street only reinforces my already negative view of Postgres zealots.

    It doesn't matter how right you are about whatever it is. Like it or not, how you deliver your message is as important or more important than the message itself. This applies to just about anything: databases, operating systems, which end of a softboiled egg you eat first, and of course, politics.

    You zealots have a lot in common with Ron Paul supporters. Any merit your cause might carry is completely nullified by the overwhelming nature of your enthusiasm.

    I'm done now. I will never comment on this subject again, mainly because I'm tired of burning karma on ACs, but also because I know that nothing I say matters to anyone on either side.

    --
    Women are like electronics: you don't know how damaged they are until you try to turn them on.
  10. Yeah, but does it have sub second Timestamps? by level4 · · Score: 4, Interesting

    I would like to use MySQL instead of Postgres - it's easier for me to install, maintain, and just plain understand. I don't like how PG does things a lot of the time and find it needlessly complex. But because MySQL lacks the seemingly basic ability to store a timestamp with better than second accuracy, I can't, because I have to store log events which are often more than one a second - much more - and I need to know exactly when. Milliseconds would be fine, microseconds would be great.

    MySQL currently recommends some ridiculous hack where you strip the sub-second information from the time you send it and store it in another column, then write some kind of view which combines them back. What? I am not doing that to implement what I consider to be basic functionality! Do you remember how my motivation for switching is because I want things to be simple? Writing weird multi-column time recombination hacks is not my idea of simple.

    Replication improvements, XML parsing, great features all - but please just give us timestamps with accuracy better than a second? A lot can and does happen in less than a second and I need to be able to log it with accuracy!

    --
    Let my new 7-digit UID be a lesson to all - write down your passwords.
    1. Re:Yeah, but does it have sub second Timestamps? by Unordained · · Score: 4, Informative

      If you're going to switch databases over the issue, you might as well consider other options, like Firebird: it's also free, I do believe the timestamps have better-than-second precision (at the very least it insists on showing me 4 extra digits I never use for anything), and it's certainly easier to install, setup, and admin than PostgreSQL (IMO). It has limitations, of course, and you should be careful to read the fine print, as you would with any product selection. I would worry that you're using some particularly esoteric features of PostgreSQL that won't translate well to Firebird, but if MySQL is even an option for you, that's highly unlikely.

      Slashdot declined to carry the story I posted on it (yeah, yeah, grousing...), but Firebird 2.1 (release) came out three months ago, with some really nifty features like on-commit triggers that let you enforce constraints no other database will help you enforce (that I've seen -- Oracle certainly won't.) It rocks.

      Your mileage WILL vary, but I'd recommend at least checking it out. Either http://www.ibphoenix.com/ or http://www.firebirdsql.org/.

    2. Re:Yeah, but does it have sub second Timestamps? by level4 · · Score: 2, Informative

      I have checked out Firebird in the past and it looks great - but there's a huge chicken and egg problem. Basically, to adopt a DB requires that it be supported in the languages I use - and for scripting this kind of thing I use Ruby. I can't find any firebird support, native or otherwise, for Ruby, let alone support in the more high-level libraries like ActiveRecord or DataMapper.

      I'm not trying to put down the project - it looks great. But I can't possibly afford the time or resources to develop all my own libraries from scratch. That might sound selfish, like I'm all take and no give, and expect everything to be packaged nicely just for me - but I don't think so, I contribute where I can. I just can't do that kind of thing alone. I have deadlines and a budget, and to try to trailblaze a new path supporting a newish, as-yet pretty obscure DB would be suicidal.

      If firebird really pans out and becomes a (widely accepted) viable alternative to the "majors" I will be there contributing patches and doing what I can. But I can't be the lone crusader who starts down that path. To be brutally honest, judging from past experience, it will probably have to be the developers themselves who start that ball rolling.

      For now, the path of least resistance for me (and MANY others) is to stick with PGSQL. Changing DBs is not the big deal you might think, since I have access to all the above-mentioned tools - I could change to MySQL in just a few hours of work (and then a few more hours for the imports to finish/propogate!), just like I switched to PGSQL when MySQL's timestamp limitation became a big problem. No big deal, and I generally keep everything DB-agnostic. Switching to an unsupported (by my favourite libraries) database would be a very big deal, however, and I just don't have the resources, or - frankly - a good enough reason.

      Thanks for the suggestion though and I will definitely keep an eye on the project.

      --
      Let my new 7-digit UID be a lesson to all - write down your passwords.
  11. Triggers by iron-kurton · · Score: 4, Interesting

    The only thing that I look forward to in 5.1 is the addition of triggers for non-root users. I've fought many a battles with hosting providers wanting to charge me upwards of $120/hr to put my triggers in place as root because MySQL didn't allow regular users to run it.

    Now, finding a hosting service willing to upgrade to 5.1 within a year after it's released is going to be a new bat

    --
    Change is inevitable, except from a vending machine -- Robert C. Gallagher
    1. Re:Triggers by gbjbaanb · · Score: 3, Insightful

      In life, you have choices:

      a. get what you're given
      b. get what you pay for.

      choose one, and never complain because you can't mix and match.

  12. version names by Aggrav8d · · Score: 3, Funny

    Bah! I misread as "for a final RC for the MySQL 5.1 server, Monty Widenius" and thought it was the latest version name, like Hardy Heron or Fallacious Ferret or Mr. Ed or something.

  13. BTW, here are the 3+ year old bug reports by level4 · · Score: 2, Interesting

    "Official" one from Feb 2005:

    http://bugs.mysql.com/bug.php?id=8523

    And here's another one going back to Nov 2003, which was strangely marked as a dupe of the above:

    http://bugs.mysql.com/bug.php?id=1764

    Should have put those in the original comment; apologies for my laziness.

    --
    Let my new 7-digit UID be a lesson to all - write down your passwords.
  14. Re:Thanks for the correction by Tim+C · · Score: 4, Informative

    And anyone who likes to bitch about MySQL deserves an Oracle bill.

    Or they could use Postgres...

  15. Re:Do people trust this project anymore? by GooberToo · · Score: 4, Insightful

    Your response was condescending and presumptive.

    Your response is paranoid and childish. Sometimes you have to hear things you don't want to hear. The AC's response is actually funny and accurate. By in large, most MySQL users are children when it comes to relational databases. You don't have to be a PostgreSQL zealot to recognize that fact. Simple fact is, MySQL is the low rung on the SQL ladder. All DBAs worth respecting understand this simple fact. In other words, what you assume to be zealotry can just as likely be a factual statement by a knowledgeable person.

    Just because you heard something you didn't want to hear doesn't mean it was delivered by a zealot. The fact that you're so easily confused by such a fact is a significant indicator the AC's comment was correctly targeted (you're too close) at you. Your response also implies you are in fact a MySQL zealot. Otherwise, why so easily offended by a comment which was obviously presented with levity, by an AC, in a trollish manner. Getting upset about that is just plain silly.

    At the end of the day, with so many excellent relational databases available at zero or little cost, choosing MySQL as your database speaks poorly of you. Just about any database is better than MySQL. Imagine a friend bringing home a cheap Chinese made, Yamaha reproduction and declaring they are tired of "zealots" pointing out that better bikes exist. Well, your friend might be tired of hearing it, but it doesn't change the facts. It doesn't take a zealot to point out that bike is a complete PoS; and without regard to zealotry, better options exist. At least with a bike, you can defend such a purchase from a cost perspective. No such hand hold exists when it comes to the field of freely available databases; almost all of which are better than MySQL.

    Lastly, please don't forget that one need only be knowledgeable about relational databases to dislike MySQL. Zealotry need not be a factor.

  16. Actually... by encoderer · · Score: 2, Informative

    ...The only thing that really "breaks" from 4 > 5 is database permissions.

    And most (all?) shared hosting are handling permissions at their admin level by necessity.

    The first time I did this upgrade, probably 2005 or so, I was genuinely surprised at how painless it is.

    And the pain-points that are left are SO worth it. MySQL 4 is a toy. It's worse than Access.

    And we're not just talking about the lack of "advanced" features like triggers, sprocs, udf's. We're talking about no support for things like nested SELECT's. It's atrocious. The query optimizer is absurd. IIRC, there is actually a performance difference if you join in the WHERE clause opposed to an explicit join in the FROM clause. Now, I'm all for "proper" sql, meaning joins SHOULD be explicit. But the fact is that this query:

    select u.fullname, p.phonenumber from users u inner join phonenumbers p on u.userid = p.userid

    is logically identical to:

    select u.fullname, p.phonenumber from users u, phonenumbers p where u.userid = p.userid

    and for a query optimizer to create a different query plan for them is just inexcusable.

    MySQL 4 is the reason so many people think poorly of the DB.

  17. Re:Do people trust this project anymore? by gravyface · · Score: 4, Insightful

    At the end of the day, with so many excellent relational databases available at zero or little cost, choosing MySQL as your database speaks poorly of you. Just about any database is better than MySQL.

    That's a bit harsh and unrealistic.

    In Real Life (tm), you don't always have that choice: sometimes you take what's given to you and roll with it, sometimes you have to use what you know best to get the job done.

    I use both nowadays: I do feel more comfortable with MySQL (mainly the tools, auth. mechanisms) because for many years, it was the only option available: host didn't provide Postgres support, xyz application didn't support it, or I personally couldn't justify the risk/learning curve for a tight project.

    Postgres may be "superior" to MySQL, but that doesn't mean it's the right choice all the time.

    --
    body massage!
  18. Re:Do people trust this project anymore? by tthomas48 · · Score: 2, Interesting

    Also your view of MySQL is a couple years old. MySQL has made leaps and bounds on Postgres. Now that mysql has things like PL/SQL and Foreign Keys the differences between it and postgres have dwindled.

    Disclaimer: I have a strong Oracle, Postgres, and MySQL background. I find them all to be excellent tools.

  19. Re:Do people trust this project anymore? by MikeBabcock · · Score: 3, Insightful

    I'd love some proof on that 'children' comment. MySQL is a low rung in price, but there are much lower rungs to be had -- SQLite comes to mind even.

    The fact that MySQL is easy to configure and easy to use should not be used against it -- and it is for those reasons that so many people with very little SQL skill have been introduced to a SQL server. Had Postgres' developers made it half as easy to install and manage on my machines 10 years ago, many people would now be using it instead.

    As it stands today, MySQL is an excellent platform for relational database development. It has limitations, and there are better products, but not everyone is writing (for a random example) VISA's payment processing system.

    Your bigotry is apparent, and its just bigotry.

    --
    - Michael T. Babcock (Yes, I blog)
  20. Re:Do people trust this project anymore? by Dhalka226 · · Score: 2, Funny

    All DBAs worth respecting understand this simple fact.

    Damn those Google idiots and their inability to hire competent employees. It's a good thing they only use it for Adwords and not something important to their business.

    Meh, doesn't matter, I just won't respect them. They're clearly just a bunch of paranoid children over there anyway. I'll take my cues from randoms on Slashdot, thank-you-very-much.