http://www2.nl.freebsd.org/mysql/doc/refman/5.1/ja/mysqlhotcopy.html
mysqlhotcopyは元々Tim Bunceによって書かれ、提供されたPerlスクリプトです。データベースバックアップを速やかに作成するため、LOCK TABLES、FLUSH TABLES、cpあるいはscpを使用します。データベースやシングルテーブルのバックアップを作成する最速の方法ですが、データベースディレクトリが存在する同じマシン上でしか作動しません。mysqlhotcopyはMyISAMとARCHIVEテーブルのバックアップのためのみ作動します。UnixとNetWareで作動します。
portinstall databases/mysql51-scripts
install -o root -g wheel -m 444 'msql2mysql.1' '/usr/local/man/man1/msql2mysql.1' install -o root -g wheel -m 444 'mysql_convert_table_format.1' '/usr/local/man/man1/mysql_convert_table_format.1' install -o root -g wheel -m 444 'mysql_find_rows.1' '/usr/local/man/man1/mysql_find_rows.1' install -o root -g wheel -m 444 'mysql_fix_extensions.1' '/usr/local/man/man1/mysql_fix_extensions.1' install -o root -g wheel -m 444 'mysql_secure_installation.1' '/usr/local/man/man1/mysql_secure_installation.1' install -o root -g wheel -m 444 'mysql_setpermission.1' '/usr/local/man/man1/mysql_setpermission.1' install -o root -g wheel -m 444 'mysql_zap.1' '/usr/local/man/man1/mysql_zap.1' install -o root -g wheel -m 444 'mysqlaccess.1' '/usr/local/man/man1/mysqlaccess.1' install -o root -g wheel -m 444 'mysqldumpslow.1' '/usr/local/man/man1/mysqldumpslow.1' install -o root -g wheel -m 444 'mysqlhotcopy.1' '/usr/local/man/man1/mysqlhotcopy.1' install -o root -g wheel -m 444 'mysqld_multi.1' '/usr/local/man/man1/mysqld_multi.1' ===> Compressing manual pages for mysql-scripts-5.1.49 ===> Registering installation for mysql-scripts-5.1.49 ===> Cleaning for p5-DBD-mysql51-4.016 ===> Cleaning for mysql-scripts-5.1.49 k222# rehash k222# mysqlhotcopy Database name to hotcopy not specified /usr/local/bin/mysqlhotcopy Ver 1.23 Usage: /usr/local/bin/mysqlhotcopy db_name[./table_regex/] [new_db_name | directory]
http://members.multimania.co.uk/wipe_out/automysqlbackup/
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
になる。
# 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
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
# 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>