MySQL 4 noobs

Can a total noob with no server experience and who’s used MS Access (no SQL experience) all his career learn, setup and use MySQL by myself without training? How hard is it?

I don’t need to set up a webpage, I just need a better database storage place, plus data manipulator than MS Access.

Any good books out there too?

Use command line to install mysql and php. Then use phpmyadmin to admin the mysql install. If you did sql selects in access, you can do them here, phpmyadmin is a decent interface to the system, command line only or the provided tools will make you rip your hair out.

Chet

You could also get PostgreSQL. It supports the majority of ANSI standards and when you buy a book for that RDBMS it won’t be babying you.

There are lots of client-side solutions as well, which will look prettier than phpMyAdmin so you might want to look for those over a server-side administrating tool ;).

phpMyAdmin looks pretty enough.

I used the MySQL Control Center (mysqlcc). It works, but I’m not a database guy, I just followed the plug & chug instructions when I installed Bugzilla.

I’m asking for trouble by saying so, but I wouldn’t consider MySQL to be a significantly better database than MS Access. What problems are you having with Access?

He could. Or, he could get a DBMS that will actually enforce constraints and not mangle data. Like PostgreSQL.

Another option would be to install the MS SQL Server Desktop Engine and use Access as the front end.

Do yourself a favor and try out Navicat. It’s a Win32 application that allows for easy MySQL administration including data loads from .xls files and whatnot. I realize this is all possible from the MySQL command line or from PHPMyAdmin, but if you don’t care to learn all of the arcana then just skip it and use Navicat.

I used the free trial of Navicat to do some database mongering for my thesis. I had 4 slightly different databases on 4 different MySQL servers and this was by far the easiest way for me to get things done. My thesis even had a section on how I tried phpMyAdmin and switched to Navicat in frustration. Learning MySQL wasn’t the focus of my research at all.

I’m asking for trouble by saying so, but I wouldn’t consider MySQL to be a significantly better database than MS Access. What problems are you having with Access?[/quote]

I… I don’t have the words.

You realize that Access is just a front-end? The backend can be MS Jet (the default choice, and probably what you’re actually thinking about) or MS SQL. Maybe some other choices as well.

MySQL is perfectly suited to his purposes and is transactionally secure using the innodb tabletype. I certainly wouldn’t want to base a production environment on it as MySQL is admittedly miserable dogshit, but for his random fucking around with a database needs it’s fine.

Eh… in my past life I was basically did nothing but work on databases, 10s of millions of records, large structures, various systems etc.

99% of people’s bitching about mysql is fairly land stories they heard on the street from some homeless guy pretending to be a vet. While it lacks some functionality (tiny segment, you can use it forever and never notice), it is much faster than postgresql (and will never completely destroy a table like postgres) and I find it much easier than mssql. Anyone who has used the jet engine with any significant table size and then claim it is better than mysql???

Remember it is the most used db engine right now, so all the cool kids will bash it without knowing what they are talking about, but they just need to bash it. I am surprised someone doesn’t have some cool guy bashing word like netscrape or windoze for it.

And the final nail in the coffin for postgresql, igor suggests it. Has he ever had a clue about a single thing he posts about? No. And now is no exception.

Chet

99% of people’s bitching about mysql is fairly land stories they heard on the street from some homeless guy pretending to be a vet.

I laughed at that. A LOT.

Can anyone reccomend a book that I could pick up that would teach me about mysql? Ideally it would be something I Could read on my lunch. Any ideas on a good one?

I’m a DBA now, chet, it’s how I pay my rent, and on occasion I have to support mysql in production. It’s fucking horrible. You can’t do anything online, it has major bugs in major releases that aren’t fixed for weeks, you need a 3rd party product (which is also dogshit) to take consistent hotbackups, it doesn’t support all kinds of day to day useful stuff like views, procedures, real sequences, there’s no real HA, its replication is fucking horrible sql apply rather than block update, and I could go on. I fucking hate, no, I DESPISE, mysql.

It has its places. It’s good for little webapps. But don’t rely on it for real money.

OK, so chet resells MySQL to thousands of users who each want their own environment while stusser does enterprise DBA stuff. Oracle? MSSQL? Why don’t you guys kiss and make up.

The New Rider’s book MySQL by DuBois is pretty good. You could read it on a lunch, if you skipped the verbs.

It’s for my job. Right now, we download tables from SQL Server databases into MS Access, then we normalize the data using Access queries. Right now, all told, I have 3 Access databases all about 750mb (after compacting, it’s over 1,000mb each not compacted) that downloads the data and normalizes the data, not to mention the user conflicts that occur. It’s really inefficient and I think MS Access is reaching it’s size limits. I work for a large corporation and our IT department has each of us locked down real good, so I can’t get SQL Server or Oracle since I’m in Finance. So, I need something like Access but with better database functionality, size and data normalization features.

A lot of money goes through my MySQL dbs.

Except for a couple years ago when MySQL would regularly die due to some memory fragmentation bullshit with FreeBSD 4.x, it’s never been unreliable. (That problem was fixed by switching to Linux, and now FreeBSD has updated something that fixed it.)

The InnoDB hot backup tool is something I just ordered, funnily enough. Never, ever had use for it. It’s only going to be used if we get a massive RAID failure (0+1, so not likely.)

It kicks the living shit out of MS Access, there can be basically no argument there. Although SQL Server is pretty good too.

Chet’s right, MySQL is quite powerful. The next version already in beta supports Stored Procedures, Views and Triggers and you can get it now. MaxDB which isn’t free but much less than comparable database engines is even more powerful and backed by SAS.

I don’t expect a DBA to understand, because they want the best package on their backend for management purposes. MySQL’s strength is in price and compatibility. Neither of which a DBA cares about. When you try and deploy Oracle, MS-SQL, or Sybase you are paying huge licensing fees or not able to deploy on Linux/Unix. If you want to deal with system performance issues under MySQL you can buy more hardware and not worry about it. On other services, the minute you add another processor or scale to additional hardware you can kiss $10,000 (Typically much more) goodbye.
Performance issues between Access and MySQL are substantial. If you think Access is an equal to MySQL you need further education.

Go to www.mysql.com and look at the businesses that use it before you judge it.

K

Sure, use a beta db for your business, that’s a great idea. I don’t think you understand how bad mysql really is-- here’s an example I always give clients who are thinking about it. Some time ago, I believe it was 4.0.21, they had a bug where you couldn’t take consistent (–opt) mysqldump backups. This version of mysql was the current production release on their front page for weeks. The only way to patch it was to recompile the thing yourself with a patch diff’d in. The product is simply not ready for production use.

MySQL has two advantages. Price and speed. If you use myisam tables it’s very fast, which makes sense because myisam isn’t really a database, it isn’t transactionally consistent. It doesn’t have a real compatibility advantage.

SQL Server and especially DB2 are very price competitive. In fact, if you speak to one of their product evangilists, IBM will basically give DB2 away. Now don’t get me wrong, I fucking hate DB2, but it’s infinitely better than MySQL. It’s usable.

MySQL doesn’t scale for shit. If you want to scale it you need to go vertical, buy a bigger box. MySQL clustering is a joke.

For those of us talking about real money and real business $10k/CPU (which is what oracle standard costs with a standard discount, more or less, although I pay much less) is nothing. $25k/cpu (our oracle enterprise cost) isn’t much either. When you service level guarantee 99.999% uptime and have to pay 1/30th of the monthly contract for every hour it’s down, these costs are really quite small, even the cost of buying an EMC and veritas licensing is small. They add up, sure, but they’re worth it. They’re solid enterprise level technologies and they won’t fuck with you when you least expect it.

Like I said, MySQL has its place. It’s great for small webapps and little departmental dbs. But when you’re talking real money, don’t skimp on the little shit. I deal every day with jackholes who read linux magazine and quote stallman, they think everything should be free and work great and be guaranteed against downtime. These jackholes always demand mysql on linux and they are inevitably disappointed.