FrontPage

MySQL port change

3306ポートへの不正アクセスが増加してきたので?

/usr/local/etc/my.conf

[client]
#password	= your_password
#port		= 3306
port		= 9998
socket		= /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
#port		= 3306
port		= 9998
socket		= /tmp/mysql.sock

これで、

piano:root {47} % netstat -an
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4       0      0 219.117.246.200.80     210.255.122.209.64004  TIME_WAIT
tcp4       0     52 219.117.246.200.9997   210.255.122.209.60186  ESTABLISHED
tcp4       0      0 219.117.246.200.9997   210.255.122.209.63596  ESTABLISHED
tcp4       0      0 *.3306                 *.*                    LISTEN

tcp4       0      0 *.9998                 *.*                    LISTEN

になる。

MySQL Upgrade

新規インストール

# portinstall databases/mysql51-client
# portinstall databases/mysql51-server

再インストール

# portupgrade -f databases/mysql51-client
# portupgrade -f databases/mysql51-server

バージョンアップ

# portupgrade databases/mysql51-client
# portupgrade databases/mysql51-server

以下の起動スクリプトで制御できます。

# /usr/local/etc/rc.d/mysql-server start ←デーモンを起動します
# /usr/local/etc/rc.d/mysql-server restart ←デーモンを再起動します
# /usr/local/etc/rc.d/mysql-server stop ←デーモンを停止します

http://www.peach.ne.jp/freebsd/mysql.html

MySQL on FreeBSD

http://www.peach.ne.jp/freebsd/mysql.html

http://www.bugbearr.jp/?FreeBSD%2FMySQL

http://uls.fam.cx/freebsd/archives/000093.html

http://www.machu.jp/diary/20060206.html#p01

Port de install

# portinstall databases/mysql51-client
# portinstall databases/mysql51-server

/etc/rc.conf

mysql_enable="YES"

デフォルトでは /var/db/mysql にデータベースファイルが作成されます。もし他の場所にしたい場合は rc.conf に以下のような設定を追加します。このディレクトリが起動時になければパーミッション 700、オーナー mysqlで作成されます。

mysql_dbdir="/path/to/mysql"

mysqlの設定ファイルの雛形をコピーしておきます。(より大規模なシステムなら large や huge に)

# cp /usr/local/share/mysql/my-medium.cnf /usr/local/etc/my.cnf
# chmod 644 /usr/local/etc/my.cnf

以下の起動スクリプトで制御できます。

# /usr/local/etc/rc.d/mysql-server start ←デーモンを起動します
# /usr/local/etc/rc.d/mysql-server restart ←デーモンを再起動します
# /usr/local/etc/rc.d/mysql-server stop ←デーモンを停止します

起動できたら、rootユーザのパスワードを設定します。初期状態ではパスワードなしになっています。ここでは root@localhost の設定を変更しておきます。

# mysqladmin -u root -h localhost password 'XXXXXX' ←XXXXXXに半角でパスワードを書きます。

接続ユーザの作成・削除・パスワード変更

これらは手動でやると慣れない人にはかなり大変なので、細かくは phpMyAdmin を導入してそちらで行います。 phpMyAdmin の実行にはWebサーバとPHPが必要になります。 MySQLのSSL機能を利用した場合はリモート接続を暗号化できますので、 MySQLサーバと管理用の phpMyAdmin は同じマシンでなくとも利用可能です。

ここでは匿名ユーザなど root@localhost 以外を削除しておきます。 mysqlコマンドで接続した後に以下のコマンドを実行します。

mysql> DELETE FROM mysql.user WHERE user!='root' OR host!='localhost';
mysql> FLUSH PRIVILEGES; ←権限テーブルの再読み込み
piano:root {86} % mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.28-rc-log FreeBSD port: mysql-server-5.1.28_1

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

mysql> create database TFC;
Query OK, 1 row affected (0.00 sec)

mysql> use TFC;
Database changed
mysql> grant all privileges on TFC.*
   -> to tfc@localhost identified by 'tasaka';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
piano:root {89} % mysqlshow -u root -p
Enter password:
+--------------------+
|     Databases      |
+--------------------+
| information_schema |
| TFC                |
| mysql              |
| test               |
+--------------------+
piano:root {90} %
piano:root {90} % mysql -u tfc -p TFC
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.1.28-rc-log FreeBSD port: mysql-server-5.1.28_1

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

mysql> create table TFC (
   -> id int(11) auto_increment,
   -> name varchar(255),
   -> primary key (id)
   -> );
Query OK, 0 rows affected (0.00 sec)

mysql> show tables;
+---------------+
| Tables_in_TFC |
+---------------+
| TFC           |
+---------------+
1 row in set (0.00 sec)

mysql> describe TFC;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql>

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS