MySQLをインストール/設定


MySQLをインストール

$ sudo port install mysql5 +server
Password:
--->  Fetching mysql5
--->  Verifying checksum(s) for mysql5
--->  Extracting mysql5
--->  Applying patches to mysql5
--->  Configuring mysql5
--->  Building mysql5 with target all
--->  Staging mysql5 into destroot
--->  Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting mysql5 with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
###########################################################
--->  Installing mysql5 5.0.45_0+darwin_8+server
******************************************************
* In order to setup the database, you might want to run
* sudo -u mysql mysql_install_db5
* if this is a new install
******************************************************
--->  Activating mysql5 5.0.45_0+darwin_8+server
--->  Cleaning mysql5

けっこう時間がかかる。

何かの都合でアンインストールしたいときは、

$ sudo port uninstall mysql5
Password:
--->  Deactivating mysql5 5.0.45_0+darwin_8+server
--->  Uninstalling mysql5 5.0.45_0+darwin_8+server

MySQLを初期化

$ sudo -u mysql mysql_install_db5
Password:
Installing MySQL system tables...
070903  8:34:23 [Warning] Setting lower_case_table_names=2 because file system for /opt/local/var/db/mysql5/ is case insensitive
OK
Filling help tables...
070903  8:34:28 [Warning] Setting lower_case_table_names=2 because file system for /opt/local/var/db/mysql5/ is case insensitive
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/opt/local/lib/mysql5/bin/mysqladmin -u root password 'new-password'
/opt/local/lib/mysql5/bin/mysqladmin -u root -h iMac.local 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

斜体で示した部分が表示されるようならば、それはOSの再インストール時に ちゃんと『大文字/小文字を区別する』にしていなかった証拠

MySQLを起動して接続できるか確認

$ sudo /opt/local/share/mysql5/mysql/mysql.server start
Starting MySQL... SUCCESS! 
$ mysql5 -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit

root のパスワード設定

$ /opt/local/lib/mysql5/bin/mysqladmin -u root password 'ぱすわーど'

起動時に MySQL サーバーを起動するように設定

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

5,6秒してから "Workaround Bonjour: Unknown error: 0" っていうエラーがでてくるんですが、 これは特に害のあるエラーではなくてただのバグだとおもわれるので心配ないらしい。

Rails用のデータベースとアカウントを作っておく

『Enter password:』のところには、さっきつけたMySQLのrootのパスワードを答える。

connection idってのは15だったり3だったりするのかな??

$ mysql5 -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database cms_development;
Query OK, 1 row affected (0.02 sec) 

mysql> grant all on cms_development.* to rails identified by 'railsのぱすわーど' with grant option;
Query OK, 0 rows affected (0.01 sec) 

mysql> exit
Bye

『railsのぱすわーど』の部分にここでパスワードを決めて書いたものが、 『*database.yml』に登録される。

MySQL のドライバをインストールする

$ sudo port install rb-dbi +dbd_mysql

なんかしらんけどyakがやれっていったので

# cp /opt/local/var/macports/software/mysql5/5.0.45_0+darwin_8+server/opt/local/share/mysql5/mysql/my-medium.cnf /opt/local/etc/mysql5/my.cnf
# vi /opt/local/etc/mysql5/my.cnf

max_allowed_packet = 1Mをmax_allowed_packet = 64Mに変更。mysqldを再起動。


return