2014/11/24(月)FreeBSD における mysql のアップデート手順
2017/10/12 17:50
情報量が多いので何とかなっているというところでしょうか。
1)先ずは、バックアップ。 これは常識的に行う作業です。
# mysqldump -A -u user -p > dumpfile.sql
これで、全てのデータベースクラスタを SQL にてダンプ出力します。
SQL でないと、バージョンが異なるアップデートの際、データを元に戻せません。
2)FreeBSD ports にてインストール(例示は mysql 5.5 の場合)
# cd /usr/ports/databases/mysql55-server
# make BATCH=yes WITH_CHARSET=utf8 WITH_XCHARSET=all install clean
# rehash
3)データベースクラスタの設置場所をこしらえる
# mkdir /home/db/mysql
# chown -R mysql:mysql /home/db/mysql
4)設定情報の雛形をコピー
# cp /usr/local/share/mysql/my-medium.cnf /home/db/mysql/my.cnf
# chown mysql:mysql /home/db/mysql/my.cnf
# chmod 644 /home/db/mysql/my.cnf
5)サーバ起動時に自動起動するようにする
# vi /etc/rc.conf
〔/etc/rc.conf に下記を追記〕
mysql_enable="YES"
mysql_dbdir="/home/db/mysql"
6)mysql の設定
# vi /home/db/mysql/my.cnf
〔/home/db/mysql/my.cnf の [mysqld]セクションに追記〕
skip-character-set-client-handshake
character-set-server = utf8
datadir = /home/db/mysql
〔/home/db/mysql/my.cnf の [client]セクションに追記〕
default-character-set = utf8
7)mysql サーバを起動
# /usr/local/etc/rc.d/mysql-server start
Starting mysql.
8)データベースの初期設定
# mysql -u root
mysql> SET PASSWORD FOR root@localhost=password('mysql_root_pass');
(mysql root ユーザのパスワード設定。任意の文字列を指定。)
mysql> SELECT user,host FROM mysql.user;
+------+---------------------+
| user | host |
+------+---------------------+
| root | 127.0.0.1 |
| root | ::1 |
| | hoge.basekernel.jp |
| root | hoge.basekernel.jp |
| | localhost |
| root | localhost |
+------+---------------------+
6 rows in set (0.00 sec)
#上から3つめと上から5つ目は、空ユーザで、誰でもログインできてしまうため、削除。
mysql> DELETE FROM mysql.user WHERE user='';
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)
#データベース test を削除。
mysql> DROP DATABASE test;
mysql> EXIT;
Bye.
9)リストア
# mysql -u user -p < dumpfile.sql
Enter password: mysql_root_pass
(パスワードを入力)
#以下は任意
mysql> CREATE DATABASE db_name;
mysql> GRANT ALTER,CREATE,DELETE,DROP,INSERT,LOCK TABLES,SELECT,UPDATE ON db_name.* TO user_name@localhost IDENTIFIED BY 'user_pass';
mysql> EXIT;
Bye.
○ ログイン
# mysql -u root -p
Enter password: mysql_root_pass
(パスワードを入力)
○ バージョン表示
# mysql --version
mysql Ver 14.14 Distrib 5.5.40, for FreeBSD9.3 (i386) using 6.3
○ ユーザ削除
mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_name'@'localhost';
mysql> DELETE FROM mysql.user WHERE user='user_name' and host='localhost';
〔参考〕FreeBSD サーバ構築マニュアル MySQL5 インストール
freebsd.server-manual.com
〔参考〕FreeBSD 9.1-RELEASEにMySQL 5.5をインストール
クソゲ~製作所
2014/11/24(月)suPHP の構築 ― Ver 0.7.2 からは一筋縄でいかない
2017/10/12 17:52
これも今までのように行かず、導入に面食らいました。
# cd /usr/local/src # tar -xvzf suphp-0.7.2.tar.gz # cd suphp-0.7.2 # aclocal && libtoolize --force && automake --add-missing && autoreconf # ./configure --with-apr=/usr/local/apache2/bin/apr-1-config # make # make install(configure のオプション指定は、実際にはこれでは大きく役不足です)
ポイントは 4行目。
これがないと、
cannot find install-sh, install.sh, or shtool in config "@"/configのようなメッセージが出るだけで、何も出来ません。
aclocal,automake 等は、FreeBSD の場合、 ports の devel/autoconf 、 devel/automake をインストールすることで入手できます。
libtoolize を実行しないと、make時に Version mismatch error となってしまう模様。
〔参考〕suPHPのインストール (がらくたネット)