はじめに
タイトルのままですが、mysqlのインストールをメモっておきます。 いれたっきりで忘れちゃうこと多いですしね
ながれ
1. 環境確認
念のための環境確認
# cat /etc/redhat-release CentOS release 6.5 (Final)
2. yumでインストール
インストール
# sudo yum -y install mysql-server
確認
一応my.cnfの確認と、起動後にバージョンの確認
※my.cnf確認 # ls /etc/my.cnf -l -rw-r--r-- 1 root root 251 2月 13 04:42 2014 /etc/my.cnf ※一応インストールされたversion確認 ※の前に当然ながら起動 # sudo /etc/init.d/mysqld status mysqld は停止しています # sudo /etc/init.d/mysqld start # mysqladmin -u root -p version Enter password:←初期のままなのでそのままEnter mysqladmin Ver 8.42 Distrib 5.1.73, for redhat-linux-gnu on x86_64 Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. ・・・省略・・・
設定
/usr/share/mysqlにcnfの雛形がいくつか用意されているのでそれ使ったり。
今回は共用MySQLサーバなのでmy-medium.cnfをコピって使います
また、お試しなので詳細設定は省いて文字関連に絞って設定
※念のためバックアップ # sudo mv /etc/my.cnf /etc/my.cnf.bk.20140619 # sudo cp -ap /usr/share/mysql/my-medium.cnf /etc/my.cnf # vi /etc/my.cnf -- vi追記 -- [client] default-character-set=utf8 [mysqld] default-character-set=utf8 [mysqldump] default-character-set=utf8 [mysql] default-character-set=utf8 ------------ ※mysql再起動 # sudo /etc/init.d/mysqld restart ※mysql停止 # sudo /etc/init.d/mysqld stop ※そしてすぐ削除w # sudo yum remove mysql-server mysql
※MySQL5.5からの[mysqld]は「default-character-set」ではなく「character-set-server」を使う 参考→【MySQL】mysql5.5での文字コード設定
各サンプルファイルの説明はこんな感じ
ファイル名 | メモリ | 説明 |
---|---|---|
my-small.cnf | ~64MB | 小規模MySQLサーバ向け |
my-medium.cnf | ~128MB | メモリ32~64MBのMySQメインサーバ or 128MB以下の他との共用MySQLサーバ向け |
my-large.cnf | ~512MB | MySQLメインサーバ向け |
my-huge.cnf | 1GB~2GB | MySQL専用サーバ向け |
my-innodb-heavy-4G.cnf | 4GB | InnoDBメインサーバ向け(ACID、コネクション少なめ、重たいクエリ向け) |
3. rpmでインストール
こちらを主に参考にさせて頂いてます
ダウンロード(準備)
http://dev.mysql.com/downloads/からrpmをダウンロードします
「MySQL Community Server」をクリック
「Looking for previous GA versions?」をクリック
「5.5.38」と「Linux - Generic」を選択
下記をダウンロードします
- Linux - Generic 2.6 (x86, 64-bit), RPM Package Client Utilities
- Linux - Generic 2.6 (x86, 64-bit), RPM Package MySQL Server
- Linux - Generic 2.6 (x86, 64-bit), RPM Package Compatibility Libraries
それぞれDownloadボタンからダウンロードページにいって 「No thanks, just start my download.」リンクを右クリックのリンクアドレスをコピーで行います
ってことで
ダウンロード&インストール
※ダウンロード # cd /usr/local/src # sudo wget http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-client-5.5.38-1.linux2.6.x86_64.rpm # sudo wget http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-server-5.5.38-1.linux2.6.x86_64.rpm # sudo wget http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-shared-compat-5.5.38-1.linux2.6.x86_64.rpm ※確認 # ls MySQL* -l -rw-r--r-- 1 root root 17713894 5月 12 23:38 2014 MySQL-client-5.5.38-1.linux2.6.x86_64.rpm -rw-r--r-- 1 root root 50535068 5月 12 23:39 2014 MySQL-server-5.5.38-1.linux2.6.x86_64.rpm -rw-r--r-- 1 root root 5179375 5月 14 14:30 2014 MySQL-shared-compat-5.5.38-1.linux2.6.x86_64.rpm ※デフォルトのmysql-libsを置き換え # sudo yum localinstall MySQL-shared-compat-5.5.38-1.linux2.6.x86_64.rpm ※Server、Clientをインストール # sudo yum localinstall MySQL-server-5.5.38-1.linux2.6.x86_64.rpm # sudo yum localinstall MySQL-client-5.5.38-1.linux2.6.x86_64.rpm
※shared-compat入れることについては、こちらを参照
確認
初期状態ではmy.cnfは無いので/usr/share/mysql
以下にあるmy-medium.cnfとかをコピしてmy.cnfにする
また、rpmでインストール時は/etc/init.d/mysqlしかないので/etc/init.d/mysqldでも起動できるようにリンク張る
※ my.cnf作成 # sudo cp -ap /usr/share/mysql/my-medium.cnf /etc/my.cnf ※ 一応インストールされたversion確認 ※ の前に当然ながら起動 # sudo /etc/init.d/mysql status ERROR! MySQL is not running ※ /etc/init.d/mysqldじゃないよ!ってことでリンク張る # sudo ln -s /etc/init.d/mysql /etc/init.d/mysqld # sudo /etc/init.d/mysql start Starting MySQL.. SUCCESS! # mysqladmin -u root -p version Enter password:←初期のままなのでそのままEnter mysqladmin Ver 8.42 Distrib 5.5.38, for Linux on x86_64 Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. ・・・省略・・・ # sudo /etc/init.d/mysqld stop Shutting down MySQL. SUCCESS! ※ そしてすぐ削除w # sudo rpm -qa | grep -i mysql | xargs rpm -e
※補足1
オプション | 説明 |
---|---|
-q | パッケージ情報を表示 |
-a | インストールされている全てのパッケージを選択する |
-e | パッケージをアンインストールする |
※補足2
たまにこんなエラーで消せない
# sudo rpm -qa | grep -i mysql | xargs rpm -e エラー: 依存性の欠如: libmysqlclient.so.16()(64bit) は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要とされています libmysqlclient.so.16(libmysqlclient_16)(64bit) は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要とされています mysql-libs は (インストール済み)postfix-2:2.6.6-2.2.el6_1.x86_64 に必要とされています # sudo rpm -qa | grep -i mysql MySQL-shared-compat-5.5.38-1.linux2.6.x86_64 MySQL-client-5.5.38-1.linux2.6.x86_64 perl-DBD-MySQL-4.013-3.el6.x86_64 MySQL-server-5.5.38-1.linux2.6.x86_64 ※ MySQL-shared-compat-5.5.38-1.linux2.6.x86_64が原因なので、 ※ 気にならない場合はそのまま残して残りを消す # sudo rpm -e MySQL-client-5.5.38-1.linux2.6.x86_64 # sudo rpm -e MySQL-server-5.5.38-1.linux2.6.x86_64
4. ソースからインストール
ダウンロード、の前に下準備
最初は準備から入ります
mysql5.5系からはMakeFileの作成にはconfigureではなくcmakeで行うので、そのために必要な下記をインストールしておきます
- cmake
- ncurses-devel
ちなみに、下記のコマンドでインストール済みを検索して入ってればやらなくて良い
あった場合
# rpm -qa | grep cmake cmake-2.6.4-5.el6.x86_64 # rpm -qa | grep ncurses-devel ncurses-devel-5.7-3.20090208.el6.x86_64
ない場合(はインストール
# sudo yum install cmake # sudo yum install ncurses-devel
ダウンロード(準備)
http://dev.mysql.com/downloads/からrpmをダウンロードします
「MySQL Community Server」をクリック
「Looking for previous GA versions?」をクリック
「5.5.38」と「Source Code」を選択
- Generic Linux (Architecture Independent), Compressed TAR Archive
を選択する (ダウンロードボタンで次の画面いって、「No thanks, just start my download.」リンクのアドレスをコピー)
ってことで
ダウンロード&インストール
# cd /usr/local/src # sudo wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.38.tar.gz # sudo tar zxvf mysql-5.5.38.tar.gz # cd mysql-5.5.38 # sudo cmake . -DDEFAULT_CHARSET=utf8mb4 \ -DWITH_EXTRA_CHARSETS=all \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DWITH_INNOBASE_STORAGE_ENGINE=1 # sudo make # sudo make install
※補足1
cmakeオプションについて
オプション | 説明 |
---|---|
-DDEFAULT_CHARSET | デフォルトのキャラクターセット |
-DWITH_EXTRA_CHARSETS | 追加の文字セット(allで全部入り) |
-DDEFAULT_COLLATION | デフォルト照合順序 |
-DCMAKE_INSTALL_PREFIX | インストール先ディレクトリ |
-DWITH_INNOBASE_STORAGE_ENGINE | =1 でInnoDB有効(デフォルトではMyISAM, MERGE, MEMORY, CSV のみ) |
※補足2
「5.5.38」 > 「Linux - Generic」 > 「Linux - Generic 2.6 (x86, 64-bit), Compressed TAR Archive」を選ぶと
CMakeLists.txtが無いのでcmakeのところでこんなエラーで怒られます
CMake Error: The source directory "/usr/local/mysql-5.5" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI.
mysqlユーザ追加
※ useraddで指定するグループ作っておく # sudo groupadd mysql ※ MySQL専用でログインさせないので -s /sbin/nologin をつける ※ -M オプションをつけることでホームディレクトリを作成しないでユーザを追加する ※ 参考: http://www.revulo.com/blog/20080421.html ※ 参考: http://blog.jicoman.info/2012/12/mysql_source/ # sudo useradd mysql -M -g mysql -s /sbin/nologin # sudo passwd mysql ユーザー mysql のパスワードを変更。 新しいパスワード: ←パスワード入力
mkdir /usr/local/mysql
でディレクトリ作る手順を入れる記事もありますがmake install
時に作られます
初期設定&起動確認
# cd /usr/local ※ 所有権変更 # sudo chown -R mysql:mysql /usr/local/mysql # cd ./mysql ※ データベースの初期化 # sudo ./scripts/mysql_install_db --user=mysql ※設定ファイルの作成 # sudo cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf ※起動ファイルをシンボリックリンクで作成 # sudo ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld ※起動確認 # sudo /etc/init.d/mysqld start Starting MySQL.. SUCCESS! # /usr/local/mysql/bin/mysql -u root -p Enter password:←パスワード変更してないのでそのままEnter
削除
削除は簡単で物理的に消しちゃいます
とは言え、念のため落とすところから
# sudo /etc/init.d/mysqld stop Shutting down MySQL. SUCCESS! ※ DB削除 # sudo rm /var/lib/mysql/mysql* ※ my.cnf削除 # sudo rm /etc/my.cnf ※ 起動ファイル削除 # sudo rm /etc/init.d/mysqld ※ インストールしたディレクトリ削除 # sudo rm -r /usr/local/mysql
おわり
よくありがちな入れたっきりで忘れてしまうことも多いインストール作業を自分用にメモってみました。
いずれメモしたことすら忘れそうですねw