If this is the case, shut down mysql server. You should find your
old data at
/usr/local/mysql/data
You should see your new mysql data from macports at:
/opt/local/var/db/mysql5
That accomplishes getting the data moved to where the mysql5
installation wants it to be by default, but it doesn't accomplish
having your data where it is independent of whose distribution of
mysql5 that you use - Apple, MySQL, ports
True, but I have been under the impression, that when you use ports,
you want to keep as much as possible within the port dirs. Sure,
you can move things to where you like, and may even need to, for
example, put http docs on a faster raid or something.
ports is being used to maintain applications. MySQL is an application,
but it's all about the data that you store and use, not the
application itself.
I was sort of under the impression the OP was doing small local
development, and feel his setup should be contained within ports, if
for anything, for being on the same page as everyone else.
Being on the same page about the application, fine. Putting everything
that you need in /opt/local? Not sure that's the right thing.
Lots of "applications" let you specify how to get to the mysql data
via the socket interface - you may just want to change the config
file for the app...
There's a very simple way to keep your data in one place - use /etc/
my.cnf to define things.
I could not find out where the ports version of mysql5 looks for
my.cnf as defaults. Do you know where it is looking within the opt/
local area? I do not have a cnf file at /etc or /opt/local/etc
The sample my.cnf file has this at the top...
# This file can be simultaneously placed in three places:
# 1. /etc/mysql/my.cnf to set global options.
# 2. /var/lib/mysql/my.cnf to set server-specific options.
# 3. ~/.my.cnf to set user-specific options.
My guess is that 2 would be /opt/local/lib/mysql5
The only reference I can find to it now is
/opt/local/var/macports/sources/rsync.macports.org/release/ports/
databases/mysql4/files/my.cnf
Of course, that is not the correct one, and is part of the mysql4
build files.
I personally believe that the my.cnf file should live in /opt/local/
etc/my.cnf in the case of MacPorts.
It's not about MacPorts - it's about MySQL.
Something is defining the sock file, I just can not find it.
The default location for the sock file is "built" into the
mysql_config program
$ mysql_config --socket
/opt/local/var/run/mysql5/mysqld.sock
Many applications that want to "talk" to MySQL will use mysql_config
to find out where the socket is.
My example uses the "default" location of data based on the OS X
Server definitions - you could just as easily use "/var/lib/mysql"
like Centos, or whatever.
in the [mysqld] section add
basedir = /opt/local
datadir = /var/mysql
in the [client] section
socket = /var/mysql/mysql.sock
I added the following set of definitions to "make sure" that things
got it straight
# face - 20070227
[mysqld_safe]
basedir = /opt/local
datadir = /var/mysql
[mysql.server]
basedir = /opt/local
datadir = /var/mysql
[mysql_config]
socket = /var/mysql/mysql.sock
In the MySQL startup scripts - located at /opt/local/share/mysql5/
mysql/mysql.server - there are notes about
setting defaults, etc. MySQL gets built with the prefix of "/opt/
local", so everything starts from there - including what you see in
the notes...
# If you install MySQL on some other places than /opt/local, then you
# have to do one of the following things for this script to work:
#
# - Run this script from within the MySQL installation directory
# - Create a /etc/my.cnf file with the following information:
# [mysqld]
# basedir=<path-to-mysql-installation-directory>
# - Add the above to any other configuration file (for example
~/.my.ini)
# and copy my_print_defaults to /usr/bin
# - Add the path to the mysql-installation-directory to the basedir
variable
# below.
#
# If you want to affect other MySQL variables, you should make your
changes
# in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.
# If you change base dir, you must also change datadir. These may get
# overwritten by settings in the MySQL configuration files.
my_print_defaults also indicates the expected order of configuration
files...
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /opt/local/etc/mysql5/my.cnf ~/.my.cnf
I do think it is worth considering, that MacPorts tries to keep
things contained in its own little home. For me, it certainly makes
backing up data, and knowing that all but launchd items are in one
place. For me, I like that methodology, unless I have a really good
reason to over-ride it, such as needing to move active files off the
boot drive.
until someone does the "blow away /opt/local" to rebuild all of the
macports.
0000000000000
8)
----------------------------------
Chris Janton - face at CentosPrime dot COM
Netminder for Opus1.COM
_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users