On Jun 25, 2007, at 00:02, Bill Hernandez wrote:

On Jun 24, 2007, at 11:21 PM, Ryan Schmidt wrote:

I'm going to snip right there because you've written such a voluminous message that I'm having immense difficulties taking it all in. But as has been pointed out, /tmp/mysql.sock is not where the MacPorts mysql5 puts its socket. (/tmp/mysql.sock is where the mysql.com binary distribution puts its socket file.) Why is your mysql looking for the socket in /tmp/mysql.sock? Have you configured your my.cnf to point to that location? If so, take those lines out and let mysql find the socket files in the default location.

HERE'S A BRIEF VERSION OF MY MESSAGE

My message was voluminous, because I've been trying to get this to work for several days, and had no luck getting docs that explained the setup used by MacPorts. While I was waiting for this reply I downloaded the MySQL for OSX from MySQL.com and got it running in about 20 minutes, and within a brief time after that I had imported all my data.

It uses a fairly simple hierarchy:

/usr/local/mysql
/usr/local/mysql/data

MacPorts appears to use several directories, which probably all need to have the ownership/permissions set correctly :

/opt/local/bin/mysql5
/opt/local/etc/mysql5
/opt/local/include/mysql5
/opt/local/lib/mysql5
/opt/local/share/mysql5
/opt/local/var/db/mysql5
/opt/local/var/run/mysql5

I am sure there is a great reason for the over-complicated hierarchy which I do not see at this point, but the standard install where all the mySQL stuff goes in one dir seems a lot easier to deal with, even for browsing purposes. Although as a work- around I could create a dummy directory with aliases to all these other directories in order to simplify the process of becoming familiar with the distributed contents.

I don't know why the MacPorts mysql5 uses a different hierarchy but it also has never really concerned me. It shouldn't really matter one way or the other. MacPorts takes care of setting the permissions correctly, and you don't really need to know what all is in the package. In case you're curious, though, the command "port contents mysql5" will show you.

Setting permissions for the installations at /usr/local/mysql was fairly simple and only involved two sets of permissions, one for the main directory, and a different one for the data dir, and like I said previously I got that version up and running in about 20 minutes, vs several days that I've been trying to get the MacPorts MySQL working. I am not trying to be ungrateful, I am just not sure why this implementation is so over-complicated ?

I don't know what's complicated. All you should need to do to install mysql5 using MacPorts is:

sudo port install mysql5 +server

When it's done compiling and installing, it will output instructions for setting up the initial database and starting the server using launchctl.

/usr/local/mysql
/usr/local/mysql/data --> data file, which translates to --> / opt/local/var/db/mysql5

I didn't find any documentation on this type of setup. All the docs I found refer to the /usr/local/mysql self contained type of installation.

I was not able to locate any documentation on what the MacPorts implementation required, such as my.cnf, and where any of this stuff is supposed to live.

The my.cnf goes in /opt/local/etc/mysql5 but it should be optional.... mine contains:

[mysqld]
skip-networking
pid-file=/opt/local/var/run/mysql5/mysqld.pid
log-error=/opt/local/var/log/mysql5/mysqld.err
log-slow-queries=/opt/local/var/log/mysql5/slow_queries.log
datadir=/Users/rschmidt/mysql/data
bind-address=127.0.0.1
lower_case_table_names=2
default-table-type=InnoDB
query_cache_size=32M

I happen to like storing my databases in my home directory instead of burried under /opt/local but you can take that out if you don't mind the default db storage location.

I think storing the PID file in /opt/local/var/run/mysql5 and the logs in /opt/local/var/log/mysql5 may have been local modifications of mine... I think I didn't find it logical to have those files in the database directory so I moved them. You may need to first create those directories and set their permissions, if you want to use that layout.


I ask again, Is there any documentation ?

I'm not aware of any, but I also wasn't aware of any need for any documentation of this port. Or rather, the MacPorts project doesn't really maintain any documentation on any specific port.... just on MacPorts infrastructure as a whole. I guess we could make wiki pages for specific ports.... come to think of it I think there are some for some of Gnome....

But I think the goal should be that every port is easy enough to figure out just by installing it. If we need to print additional instructions to the user after the port is installed, then we should do that.


Also the log showed this :

/opt/local/var/db/mysql5/my_hostname.local.err

070624 18:11:24  mysqld started
070624 18:11:24 [ERROR] /opt/local/libexec/mysqld: unknown option '-S'

070624 18:11:24  mysqld ended

070624 18:40:58  mysqld started
070624 18:40:58 [ERROR] /opt/local/libexec/mysqld: unknown option '-S'

070624 18:40:58  mysqld ended

Curious... I don't see any such thing in my mysql error log. How did you start mysql? Did you use the launchctl script using the instructions printed once mysql5 +server is done installing?


THE FILE "mysql-test-run.pl " DOES NOT EXIST, NEITHER DOES THE DIR "mysql-test"
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl

I'm not familiar with the test scripts. I do see that the portfile explicitly deletes the mysql-test directory at the end. I don't know why it does that. That directive has been there since the mysql5 port's inception in April 2005. But I don't think you need the tests either.


Also, has anybody documented how they got this implementation working ?

Are there any step by step docs for this implementation ?

 Any ideas ?


_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to