LoginSignup
7
5

More than 5 years have passed since last update.

MySQLをソースコードからインストール

Last updated at Posted at 2015-03-17

ユーザーとグループを作成する

$ sudo groupadd -g 500 mysql
$ sudo useradd -g mysql -u 500 -d /var/lib/mysql mysql
$ sudo passwd mysql

※USER及びGROUPのIDは環境に併せて下さい

ソースコードを取得し、展開する

MySQLデベロッパーサイトから使用したいバージョンのソースコードを取得し、展開します。

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.42.tar.gz
$ tar zxvf mysql-5.5.42.tar.gz
$ cd mysql-5.5.42

ソースコードをビルドする

MySQLのビルドにはCMAKEを用いてMakefileを生成します。未インストールの場合はをインストールしましょう。

$ sudo aptitude install cmake

実際にMakefileを生成します。

$ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/stow/mysql-5.5.42 -DMYSQL_DATADIR=/var/lib/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
オプション名 内容
DCMAKE_INSTALL_PREFIX Installation base directory
DMYSQL_DATADIR Data directory
DWITH_INNOBASE_STORAGE_ENGINE
DDEFAULT_CHARSET The default server character set
DDEFAULT_COLLATION The default server collation

大体、必要ライブラリが足りずにエラーとなってしまい、処理が止まってしまうので都度インストールを行います。

$ sudo aptitude install libncurses5-dev libaio-dev ncurses-dev build-essential bison

実際にコンパイルし、インストールを実行します。

$ make
$ make install

初期設定を行う

データ格納用ディレクトリを用意し、グループ及びオーナーをmysqlに変更します。

$ sudo mkdir /var/lib/mysql
$ sudo chown mysql:mysql /var/lib/mysql

MySQLの初期化スクリプトを実行します。

$ sudo /usr/local/stow/mysql-5.5.42/scripts/mysql_install_db --user=mysql --basedir=/usr/local/stow/mysql-5.5.42 --datadir=/var/lib/mysql

起動スクリプトを設置します。

$ sudo cp /usr/local/stow/mysql-5.5.42/support-files/mysql.server /etc/init.d/mysql

実際にMySQLサーバーを起動します。

$ /etc/init.d/mysql start

※下記のようなエラーで動かない場合は該当ディレクトリ配下のパーミッションを確認しましょう。

$ sudo /etc/init.d/mysql start
Starting MySQL
... * The server quit without updating PID file (/var/lib/mysql/server.pid).
7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5