Skip to content

Instantly share code, notes, and snippets.

@itiut
Last active August 29, 2015 14:01
Show Gist options
  • Save itiut/5a8acebacfbd2a0e493d to your computer and use it in GitHub Desktop.
Save itiut/5a8acebacfbd2a0e493d to your computer and use it in GitHub Desktop.
CentOSにMySQLをインストールしてユーザープロセスで動かしたときのメモ

目標

Vagrantで起動させたCentOSにMySQLをインストールして、mysqldをユーザープロセスで動かす。

環境

  • ホストOS : Ubuntu trusty 14.04 x86_64
  • ゲストOS : CentOS 5.10 x86
  • MySQL 5.6.17

作業

boxの準備

$ vagrant init opscode-centos-5.10-i386 http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-5.10-i386_chef-provisionerless.box
$ vagrant up
$ vagrant ssh

ユーザーの作成

$ sudo su -

# useradd itiut --user-group
# passwd itiut

sudoを使えるように

# usermod -G wheel itiut
# visudo
- # %wheel    ALL=(ALL)    ALL
+ %wheel    ALL=(ALL)    ALL

ユーザーの切り替え

# su - itiut

MySQLのインストール

ビルドに必要なパッケージをインストール

$ sudo yum update
$ sudo yum groupinstall development-tools

~/srcにMySQLのソースコードをダウンロード

$ mkdir src
$ cd src
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz
$ tar xvf mysql-5.6.17.tar.gz
$ cd mysql-5.6.17.tar.gz

cmakeがなかったのでインストール

$ sudo yum install cmake

インストール用とデータ用のディレクトリを作成

$ mkdir ~/opt/mysql -p		# インストール用
$ mkdir ~/var/mysql/data -p	# データ用

ビルド

$ cmake . -DCMAKE_INSTALL_PREFIX=$HOME/opt/mysql -DMYSQL_DATADIR=$HOME/var/mysql/data

ncursesが無いと言われたのでインストール

$ sudo yum install ncurses-devel

cmakeのキャッシュを消して再びビルド

$ rm CMakeCache.txt
$ cmake . -DCMAKE_INSTALL_PREFIX=$HOME/opt/mysql -DMYSQL_DATADIR=$HOME/var/mysql/data
$ make
$ make install

データベースのセットアップ

$ cd ~/opt/mysql/
$ ./scripts/mysql_install_db --datadir=$HOME/var/mysql/data

mysqldを動かす

$ ./bin/mysld_safe &

セキュリティの強化

$ ./bin/mysql_secure_installation

テストを実行

$ cd mysql-test/
$ ./mysql-test-run

途中でタイムアウトしてエラーになった。

mysqldを終了させる

$ cd ../
$ ./bin/mysqladmin shutdown -u root -p

既知の問題 あるいは Todo

  • ~/opt/mysql/binをPATHに追加する。
  • スキップされているテストがある。
    cmakeの時に何かオプションが必要っぽい。
  • テスト通す。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment