1. nobu_blast

    Posted

    nobu_blast
Changes in title
+CentOS6.3でMySQL5.6.14をソースからインストール
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,168 @@
+# CentOS6.3でMySQL5.6.14をソースからインストール
+
+## 環境
+
+```
+# uname -a
+Linux ttakahashi 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
+# cat /etc/redhat-release
+CentOS release 6.3 (Final)
+```
+
+## 前提
+- CentOS6.3
+- Apache2.4.6をインストール済み
+- PHP5.5をインストール済み
+
+## MySQLのインストール
+
+### 1.MySQLソースファイルのダウンロード
+
+```
+# cd /usr/local/src/
+# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz/from/http://cdn.mysql.com/
+# tar xvfz mysql-5.6.14.tar.gz
+# cd /usr/local/src/mysql-5.6.14
+→ configureがない・・・cmakeが必要らしい
+```
+
+### 2.cmakeソースファイルのダウンロード&インストール
+
+```
+# cd /usr/local/src/
+# wget http://www.cmake.org/files/v2.8/cmake-2.8.12.tar.gz
+# tar xvfz cmake-2.8.12.tar.gz
+# cd cmake-2.8.12
+# ./configure
+# make
+# make install
+```
+
+### 3.MySQL インストール
+
+```
+# cd /usr/local/src/mysql-5.6.14
+# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
+Curses library not found. Please install appropriate package,
+remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
+→ エラー発生、ncurses-develが必要
+```
+
+ncurses-develインストール
+
+```
+# cd /usr/local/src/
+# wget ftp://rpmfind.net/linux/centos/6.4/os/x86_64/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
+# rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
+```
+
+再度インストール
+
+```
+# cd /usr/local/src/mysql-5.6.14
+# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
+→ CMakeCache.txt削除し忘れ
+# rm CMakeCache.txt
+# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
+# make
+# make install
+```
+
+### 4.初期設定
+グループ、ユーザ作成
+
+```
+# groupadd mysql
+# useradd -g mysql -d /usr/local/mysql mysql
+```
+
+データディレクトリを追加
+
+```
+# sudo mkdir /var/lib/mysql
+# mkdir /var/lib/mysql
+# chown -R mysql:mysql /usr/local/mysql
+```
+初期化
+
+```
+# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql -basedir=/usr/local/mysql
+```
+
+所有者変更
+
+```
+# chown mysql:mysql -R /var/lib/mysql/*
+```
+
+起動スクリプト作成
+
+```
+# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
+```
+
+起動
+
+```
+# /usr/local/mysql/bin/mysql -u root
+ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
+→ エラー発生
+```
+
+設定ファイルを編集
+
+```
+# vi /etc/my.conf
+[mysqld]
+socket=/tmp/mysql.sock
+[client]
+socket=/tmp/mysql.sock
+```
+
+MySQL再起動
+
+```
+# /etc/init.d/mysqld restart
+```
+
+再度接続
+
+```
+/usr/local/mysql/bin/mysql -u root
+接続を確認
+```
+
+パスワード設定
+
+```
+mysql> SET PASSWORD FOR root@localhost=PASSWORD('xxxxxxxxx');
+```
+
+### 5.ブラウザからの動作確認
+ドキュメントルートに下記ファイルを配置
+
+```html
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8">
+ <title>MySQL Databases</title>
+</head>
+<body>
+<?php
+$conn = new mysqli('localhost', 'root', 'xxxxxxxxx');
+if (!$conn) {
+ die('データベース接続エラー: ' . mysql_error());
+}
+$stmt = $conn->prepare("SHOW DATABASES");
+$stmt->execute();
+
+$stmt->bind_result($database);
+while ($stmt->fetch()) {
+ echo $database;
+ echo "<br>";
+}
+?>
+</body>
+</html>
+```