Linuxサーバ

テスト環境のUbuntu12.04にMySQL5.5をインストールしてみたが

テスト用としてインストールしたUbuntu12.04ですが、まずは自宅LAN内にデータベースサーバを置いてAccessから接続できる環境を作って・・・と妄想しながら作業を進めます。

 

apt-get update

apt-get install mysql-server

 

にてインストールを試みます。

 

そこで気づいたのですが、MySQLのバージョンがあがっています。

 

現在のサーバで使用しているのはMySQL5.1(のはず)ですが今回は5.5になっているのです。

 

まぁ、細かいことは気にせず作業を続けます。

 

その他諸々(mysql-clientとかなんとか)が一緒にインストールされたあと、早速設定ファイルをいじります。

 

vi /etc/mysql/my.cnf

 

で開いて、[mysqld]の下に

  • default-character-set =utf8
  • skip-character-set-client-handshake

の2行を追記して

 

/etc/init.d/mysql restart

 

とします。

 

以前のサーバと同じで無事再起動完了。。。のはずが・・・

 

エラーで起動しません。

 

調べると

 

文字コードの設定をするのに「default-character-set=○○」ではなく

 

character-set-server=○○

 

と記述が変わったようなのです。

 

それを修正してみると無事動きました。

 

今度はWindows端末でAccessから接続できるようにODBC設定を行います。

 

まずは本家サイトからODBCドライバをダウンロードしてきます。

 

お使いの環境に合わせて選びましょう。

 

ちなみに3.51系と5.1系がありますが、自分は3.51系を選びました。

 

ドライバのインストールが終わったらコントロールパネル→管理ツール→データソース(ODBC)と選んで設定へと移ります。

 

ODBC1

 

 

そして、システムDSNを選択したら「追加」をクリックします。

 

出てくるのはこんな感じ↓

 

ODBC2

 

 

Data Source Nameは接続を識別するためにつける名称ですので、自分が分かりやすい名前を付けたらよいと思います。

 

TCP/IP Serverは接続先のホストを指定します。IPアドレスでもホスト名でも大丈夫なはずです。

 

UserはMySQLで作成したユーザ名なのですが、ここで注意。

 

MySQL側でユーザを作成するのですが、

 

grant 権限 on データベース名.テーブル名 to ユーザ名@ホスト名 identified by 'パスワード';

 

のホスト名を、Windows端末のホスト名(かIPアドレス)にしてユーザを作成しておきます。

 

サーバ上で使用するユーザ名@localhostではODBC接続ができないのでご注意。

 

で、ユーザ名とパスワードを入力して「Test」をクリックします。

 

「Success!! Connection was made!!」

 

みたいなメッセージが出たら成功です。が、自分の場合ここで嵌りました。。。

 

最初に発生したのはMySQLでエラーが発生していたこと。

 

調べたらなんと!ソケットが消滅していた!?のです。

 

/etc/mysql/my.cnfに記述されているとおり、ソケットのパスは

 

/var/run/mysqld/mysqld.sock

 

何ですが、所定のディレクトリ内がいつの間にか空っぽになっていたんです。

 

ソケットが消えるって一体何なんだよ。。。

 

原因が全く分からず、MySQLを再インストールし直したら症状は出なくなったのですが、原因が分からないだけにとても気持ちが悪いです。。。

 

が、それが一応解決してもまだ繋がりません。

 

またまた調べたら、外部からの接続をサーバ側で拒否っている様子。

 

my.cnf内の

 

bind-address = 127.0.0.1

 

をコメントアウトすることで解決。

 

ここでODBC接続を試すと・・・

 

繋がったーーーーーー!!!!!

 

って、前のサーバの時にも設定したはずなのに覚えていないとは・・・

 

やはり備忘録は必須ですな。

オススメの記事

-Linuxサーバ
-, ,