On Jun 25, 2007, at 15:28, paul beard wrote:

I have to say that installing and running MySQL has never been troublefree
for me.

I find it especially frustrating when presented instructions to copy and
paste that don't work:

[/opt/local]# bin/mysql_install_db5

Installing MySQL system tables...

OK

Filling help tables...

OK


To start mysqld at boot time you have to copy

support-files/mysql.server to the right place for your system

Bear in mind that these instructions you are seeing from mysql_install_db5 are generic instructions the MySQL team thinks will be useful. This instruction to copy the mysql.server script is, of course, useless for Mac OS X, where we provide a launchctl plist instead. Perhaps we could patch the script to provide MacPorts- specific instructions.

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

Ok, so it said right there that you need to start the server first.

/opt/local/lib/mysql5/bin/mysqladmin -u root password 'new-password'

/opt/local/lib/mysql5/bin/mysqladmin -u root -h white.paulbeard.org password
'new-password'

See the manual for more instructions.

You can start the MySQL daemon with:

cd /opt/local ; /opt/local/lib/mysql5/bin/mysqld_safe &


You can test the MySQL daemon with mysql-test-run.pl

cd mysql-test ; perl mysql-test-run.pl


Please report any problems with the /opt/local/lib/mysql5/bin/mysqlbug
script!


The latest information about MySQL is available on the web at

http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

([EMAIL PROTECTED])-(01:23 PM / Mon Jun 25)

[/opt/local]# /opt/local/lib/mysql5/bin/mysqladmin -u root password
'new-password'

/opt/local/lib/mysql5/bin/mysqladmin: connect to server at 'localhost'
failed

error: 'Can't connect to local MySQL server through socket
'/opt/local/var/run/mysql5/mysqld.sock' (2)'

Check that mysqld is running and that the socket:
'/opt/local/var/run/mysql5/mysqld.sock' exists!


It strikes me as obvious that the database server/daemon needs to be running
before we'll be able to run commands against it, right? So how is that
supposed to work?

So, like it said, you need to start the server before you can install the initial databases. The port prints instructions for starting the server when it's done installing, so long as you used the +server variant, as I said before. The instructions would tell you to run this command to start mysql5 now and to have it start at every subsequent system startup:

sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

The opposite -- stopping mysql5 now and having it no longer start at system startup -- would be:

sudo launchctl unload -w /Library/LaunchDaemons/ org.macports.mysql5.plist

I knew there is some other incantation that runs it with the privileges opened up (something to do with grant tables) that I have used before but
only after looking it up. I'm sure I can get it working -- I have done
before -- but are people using these instructions and getting anywhere? I don't even see a reference to running the database installer, and without
that you're hosed.

You mean, you don't see instructions advising you to run mysql_install_db? Those instructions are also only printed if you use the +server variant. If you do not use the +server variant of mysql5, it is assumed that you merely want to use mysql to connect to a mysql server already running on a different computer. If you want to run a mysql server on this computer, you want +server.

The option to start the mysql server without its privilege system is --skip-grant-tables but I don't think there's any reason why you would need to use that.

_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to