mysql5.6 freebsd インストール
カテゴリー: ぷろぐらみんぐ/メモ
2015-11-14
2.10.1 Unix 類似システムでのインストール後の手順
https://dev.mysql.com/doc/refman/5.6/ja/unix-postinstallation.html
この通りにしても動きません。
インストール
** install
pkg install mysql56-client mysql56-server
mysql_install_db --user=mysql --datadir=/home/data-mysql --basedir=/usr/local
mkdir /home/data-mysql
mkdir /var/lib/mysql
chown -R mysql /home/data-mysql
chown -R mysql /var/lib/mysql
find /usr/local -name mysql -type d
chown -R mysql /var/db/mysql/
chown -R mysql /usr/local/lib/mysql
chown -R mysql /usr/local/share/mysql
** 設定ファイルを作る
cp -a /usr/local/my.cnf /etc/my.cnf
または
cp -a /usr/local/share/mysql/my-default.cnf /etc/my.cnf
** 書き換えます(要注意)
edit /etc/my.cnf
/usr/local/etc/rc.d/mysql-server
が間違っているので
/var/db/mysql 以外にデータベースを保存する場合は、
書き換えが必要です.
mysqlのマニュアルと違う動作をしますので
そのままでは、${mysql_dbdir}を読み込んでくれません
[client]
socket=/var/lib/mysql/mysql.sock
#character-set-server=utf8
[mysqld]
key_buffer_size=16M
max_allowed_packet=8M
user=mysql
basedir = /usr/local
#datadir = /var/db/mysql
datadir = /home/data-mysql
port=3306
socket=/var/lib/mysql/mysql.sock
#character-set-server=utf8
** 常駐コマンドを組み込みます
/etc/rc.d/
** データベースが /var/db/mysql 以外の場合
cat /usr/local/etc/rc.d/mysql-server
: ${mysql_dbdir="/var/db/mysql"}
書き換える
: ${mysql_dbdir="/home/data-mysql"}
設定が終わりました。
** サーバーを起動して、パスワードを設定します
mysqld_safe --skip-grant-tables &
cat /home/data-mysql/freebsd.localhost.err | grep error
mysqladmin -u root
use mysql;
mysql -u root
truncate table user;
flush privileges;
grant all privileges on *.* to root@localhost identified by 'パスワード' with grant option;
flush privileges;
許可ホストは root@'%'とすると全部許可になるそうです
quit;
起動したmysqlを停止するには
ps
kill -KILL pid
/usr/local/etc/rc.d/mysql-server start
mysql -u root -pパスワード
ログインできれば完了です。
(php.ini)
mysql.default_port=3306
mysql.default_host=localhost
mysql.default_socket=/var/lib/mysql/mysql.sock
mysqli.default_socket=/var/lib/mysql/mysql.sock
pdo_mysql.default_socket=/var/lib/mysql/mysql.sock
** Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
# mysql_upgrade
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
FATAL ERROR: Upgrade failed
テーブルを間違って参照しています。
"/var/db/mysql"に保存している場合は、/var/db/mysql/my.cnfを確認してください
そうでない場合は、
/usr/local/etc/rc.d/mysql-server
の設定が間違っているのでエディタで編集してください
再インストール
pkg autoremove
pkg delete mysql56-client mysql56-server
pkg install mysql56-client mysql56-server
データを初期化する場合
mv /home/data-mysql /home/data-mysql.old
データをいれるには、上のほうに書いてあります。
** mysql not running? (check /var/db/mysql/freebsd.localhost.pid).
/usr/local/etc/rc.d/mysql-server stop
mysql not running? (check /var/db/mysql/freebsd.localhost.pid).
/etc/my.cnfが反映されていない
・データの場所にあわせて、my.cnfの位置を変更するなり、シンボリックリンク張るなりしてください。
・データが、/var/db/mysqlに保存していない場合は、
/usr/local/etc/rc.d/mysql-server
を書き換えてください。
freebsd版は行儀が悪く、mysqlのマニュアルとmy.cnfの読み込みが違う動作をします。
https://dev.mysql.com/doc/refman/5.6/ja/unix-postinstallation.html
この通りにしても動きません。
インストール
** install
pkg install mysql56-client mysql56-server
mysql_install_db --user=mysql --datadir=/home/data-mysql --basedir=/usr/local
mkdir /home/data-mysql
mkdir /var/lib/mysql
chown -R mysql /home/data-mysql
chown -R mysql /var/lib/mysql
find /usr/local -name mysql -type d
chown -R mysql /var/db/mysql/
chown -R mysql /usr/local/lib/mysql
chown -R mysql /usr/local/share/mysql
** 設定ファイルを作る
cp -a /usr/local/my.cnf /etc/my.cnf
または
cp -a /usr/local/share/mysql/my-default.cnf /etc/my.cnf
** 書き換えます(要注意)
edit /etc/my.cnf
/usr/local/etc/rc.d/mysql-server
が間違っているので
/var/db/mysql 以外にデータベースを保存する場合は、
書き換えが必要です.
mysqlのマニュアルと違う動作をしますので
そのままでは、${mysql_dbdir}を読み込んでくれません
[client]
socket=/var/lib/mysql/mysql.sock
#character-set-server=utf8
[mysqld]
key_buffer_size=16M
max_allowed_packet=8M
user=mysql
basedir = /usr/local
#datadir = /var/db/mysql
datadir = /home/data-mysql
port=3306
socket=/var/lib/mysql/mysql.sock
#character-set-server=utf8
** 常駐コマンドを組み込みます
/etc/rc.d/
** データベースが /var/db/mysql 以外の場合
cat /usr/local/etc/rc.d/mysql-server
: ${mysql_dbdir="/var/db/mysql"}
書き換える
: ${mysql_dbdir="/home/data-mysql"}
設定が終わりました。
** サーバーを起動して、パスワードを設定します
mysqld_safe --skip-grant-tables &
cat /home/data-mysql/freebsd.localhost.err | grep error
mysqladmin -u root
use mysql;
mysql -u root
truncate table user;
flush privileges;
grant all privileges on *.* to root@localhost identified by 'パスワード' with grant option;
flush privileges;
許可ホストは root@'%'とすると全部許可になるそうです
quit;
起動したmysqlを停止するには
ps
kill -KILL pid
/usr/local/etc/rc.d/mysql-server start
mysql -u root -pパスワード
ログインできれば完了です。
(php.ini)
mysql.default_port=3306
mysql.default_host=localhost
mysql.default_socket=/var/lib/mysql/mysql.sock
mysqli.default_socket=/var/lib/mysql/mysql.sock
pdo_mysql.default_socket=/var/lib/mysql/mysql.sock
** Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
# mysql_upgrade
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
FATAL ERROR: Upgrade failed
テーブルを間違って参照しています。
"/var/db/mysql"に保存している場合は、/var/db/mysql/my.cnfを確認してください
そうでない場合は、
/usr/local/etc/rc.d/mysql-server
の設定が間違っているのでエディタで編集してください
再インストール
pkg autoremove
pkg delete mysql56-client mysql56-server
pkg install mysql56-client mysql56-server
データを初期化する場合
mv /home/data-mysql /home/data-mysql.old
データをいれるには、上のほうに書いてあります。
** mysql not running? (check /var/db/mysql/freebsd.localhost.pid).
/usr/local/etc/rc.d/mysql-server stop
mysql not running? (check /var/db/mysql/freebsd.localhost.pid).
/etc/my.cnfが反映されていない
・データの場所にあわせて、my.cnfの位置を変更するなり、シンボリックリンク張るなりしてください。
・データが、/var/db/mysqlに保存していない場合は、
/usr/local/etc/rc.d/mysql-server
を書き換えてください。
freebsd版は行儀が悪く、mysqlのマニュアルとmy.cnfの読み込みが違う動作をします。