MySQL

MySQLでデータをリストアする場合、slow_query_log を OFF にする方がいい場合

MySQL のデータベースをリストアに2日かかった原因を調べていたところ、slow_query_log_file に大量のログが書き出されていたことがわかった。 大量のデータを INSERT しているため、通常の long_query_time で設定している時間以上に SQL の実行に時間がか…

Perl 本体が落ちる

Windows 7 上で Perl を実行すると Perl.exe が初めてクラッシュした。思い当たることがなく、同じスクリプトを FreeBSD 上で実行すると Perl がクラッシュしてコアダンプを吐き出した。 % tail -f /var/log/messages Nov 18 13:43:49 myhost kernel: pid 83…

Mac OS X Lion に homebrew で MySQL をインストールする

Mac OS X 10.7 に MySQL をインストールする。homebrew はすでにインストール済みとする。 % brew install mysql ==> Installing mysql dependency: cmake ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/cmake-2.8.6-bottle.tar.gz…

ストアドファンクション その1

DROP FUNCTION IF EXISTS FIND_CATEGORY; DELIMITER // CREATE FUNCTION FIND_CATEGORY (category_title VARCHAR(32)) RETURNS INT BEGIN DECLARE HAS_TITLE_ID INT DEFAULT 0; SELECT `id` INTO HAS_TITLE_ID FROM `bbs_category` WHERE `title` = category…

MySQL 5.1 系と MySQL 5.5 系の文字コード

MySQL をインストールしたら、root のパスワードを設定した後に、文字コードの設定をするが、エラーが発生。しばらく調べてみたら、 MySQL 5.5 系では文字コードの設定方法が変更されていた。 mysql> SHOW VARIABLES LIKE 'char%'; +-----------------------…

mysqld がない

RedHat Enterprise Linux 5 の設定をしていたら、mysqld がないために MySQL が起動できない状態だった。 MySQL の再インストールを試みる # rpm -e --test mysql で MySQL の依存関係を調べてみると、devecot が依存しているようだった。devecot を再インス…

FreeBSD で Python から MySQL を使えるようにする

# whereis py-MySQLdb py-MySQLdb: /usr/ports/databases/py-MySQLdb # cd /usr/ports/databases/py-MySQLdb # make fetch-recursive # make install clean # whereis py-sqlobject py-sqlobject: /usr/ports/databases/py-sqlobject # cd /usr/ports/databa…

中央値を求める

参考はオライリーの SQL Hacks。 実験用テーブルを作成する % mysql -u littlebuddha -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 48 Server version: 5.0.67 Source distribution Type 'hel…

MySQL のデータベースのバックアップを行う

mysqldump コマンドから実施する % pwd /home/littlebuddha/ % mkdir mysql % cd mysql % mysqldump -u root -p -x --databases yourdatabase | gzip > $HOME/mysql/yourdatabase.gz Password: <- MySQL に登録している root 名ユーザーのパスワードを入力 …

MySQL 起動時にエラーと思われるメッセージが表示されるようになった

結論としては、問題はないようだ。 起動時にメッセージが出るようになった % sudo /etc/init.d/mysql restart Stopping MySQL database server: mysqld. Starting MySQL database server: mysqld. Checking for corrupt, not cleanly closed and upgrade nee…

MySQL をインストールする

インストール前に確認をする % apt-cache search mysql | grep ^mysql mysql-admin - GUI tool for intuitive MySQL administration mysql-admin-common - Architecture independent files for MySQL Administrator mysql-client - mysql database client (m…

Ruby/DBI でデータベース操作の記述を抽象化する

Ruby/DBI をインストールする すでに MySQL/Ruby がインストールされているものとする。 #gem search --remote dbi *** REMOTE GEMS *** Bulk updating Gem source index for: http://gems.rubyforge.org/ dbi (0.4.0) dbi-dbrc (1.1.4, 1.1.3, 1.1.2, 1.1.1…

Ruby/MySQL の利用例

require 'rubygems' require 'mysql' hostname = 'localhost' username = 'yourname' passowrd = 'password' database = 'mysql' begin # データベースに接続 # 接続が確立されれば、MySQL オブジェクトが返される db = Mysql::connect(hostname, username, …

Windows で Ruby/MySQL を利用する

利用時に libmysql.dll がないと警告された場合対処方法。 libmysql.dll について MySQL サーバーに接続するために必要。通常、MySQL をインストールしている場合、$MYSQL_HOME/bin 下に libmysql.dll はある。ローカルに MySQL Server をインストールしたく…

Ruby/MySQL をインストールする

RubyGems を利用する。 # gem search --remote mysql *** REMOTE GEMS *** Bulk updating Gem source index for: http://gems.rubyforge.org/ activerecord-jdbcmysql-adapter (0.8.2, 0.8.1, 0.8, 0.7.2, 0.7.1, 0.7, 0.6) dbd-mysql (0.4.2, 0.4.1, 0.4.0,…

Ruby で MySQL に接続をするには

MySQL に接続するには、下記のライブラリのどちらかが必要になる。 MySQL/Ruby C言語で書かれているので高速。ただし、コンパイル作業が必要。 Ruby/MySQL Ruby で記述されている。コンパイル作業は不要だが、低速。 ただし、両ライブラリを利用して記述した…

正規表現で置換をする

完全ではないけれども、メモ。 mysql> SELECT REPLACE(`file_name`, '.z', '.zip') FROM `datum_files` WHERE `file_name` REGEXP '\.z$';

MySQL で直近に生成された AUTO INCREMENT の値を取得する

参照 : LAST_INSERT_ID(), LAST_INSERT_ID(expr) 最も最近に実行された INSERT 文の結果として AUTO_INCREMENT カラムに正常にインサートされた、自動的に生成された 最初 の値を戻します。 例文では、 mysql> SELECT LAST_INSERT_ID(); -> 195 というのが掲…

FreeBSD 7.0 で MySQL を起動する

# /usr/local/etc/rc.d/mysql-server start <- MySQL を起動する # /usr/local/etc/rc.d/mysql-server restart <- MySQL を再起動する # /usr/local/etc/rc.d/mysql-server stop <- MySQL を停止する

FreeBSD 7.0 で MySQL の設定ファイルがあるディレクトリについて

# ls -l /usr/local/share/mysql/ | grep my-\* | grep -v grep -r--r--r-- 1 root wheel 4800 Sep 2 08:39 my-huge.cnf -r--r--r-- 1 root wheel 20703 Sep 2 08:39 my-innodb-heavy-4G.cnf -r--r--r-- 1 root wheel 4777 Sep 2 08:39 my-large.cnf -r--r--…

FreeBSD 7.0 で MySQL の起動スクリプトを記述する

# vi /etc/rc.conf mysql_enable="YES" <- 記述する mysql_bddir="/usr/local/mysql" <- MySQL のデータ保存場所を初期設定以外にしたい場合は指定する。 MySQLサーバ(データベース)のインストールと設定

Perl で初めてのデータベース接続(DBI)

#!/usr/bin/perl # 下2行はおまじない use strict; use warnings; # データベースへ接続するためのモジュールを読み込む use DBI; # データソースの登録 my $db_source = 'DBI:mysql:mydatabase'; # ユーザー名 my $user = 'myname'; # パスワード my $pass…

my.cnf の InnoDB の設定を変更してエラーが発生した場合

MySQL は普通に起動した。 phpMyAdmin から InnoDB で作成したテーブルにアクセスをすると、下記のエラーが表示された。 #1033 - Incorrect information in file: ./ InnoDB に係わる設定の内容は次のとおり。 # less /etc/my.cnf # Uncomment the following…

XAMPP で Akelos を開発する場合の備忘録

XAMPP の mysql.sock は、通常の /var/mysql/mysql.sock や /etc/mysql.sock に存在しない。 そのため、シンボリックリンクを生成し、設定ファイルを(わざわざ)書き換えなくても動作するようにする。 設定方法は Mac OS X のため、他の OS の場合は適宜読み…

phpMyAdmin を設定する

% mkdir ~/phpmyadmin % cd ~/phpmyadmin % wget http://jaist.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.6-all-languages-utf-8-only.tar.bz2 % ls -l ~/phpmyadmin/ total 2200 -rw-r--r-- 1 littlebuddha littlebuddha 2246759 Apr 29 …

mysql-server をインストールする

インストールをした後に、デーモンとしての設定を行う。 そのあと、MySQL に登録されているユーザーのパスワードを設定し、セキュリティ上の観点から匿名ユーザーを削除する。 # yum search mysql-server Loading "installonlyn" plugin Setting up reposito…