MySQL5.6のソースインストール
条件
MySQLのソースコードをダウンロードするのにOracleのアカウントがいるのでアカウントは取得する必要があります。
※rpmやyumの場合は別の場所から取得できるので別の方法があるかも
あと他にいろいろな開発ツールなどはインストールしておくことyumでもaptでも行ける環境で試すと良い
時間
環境にもよるが1時間位かかった…適切なパッケージインストールがあるならそのほうが良いかも
なんかパッケージ(rpm)をインストールする場合いろいろあれがない…これがない…とかで挫折したけど
cmakeのインストール
手順
cd /tmp wget http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz tar zxf cmake-2.8.12.1.tar.gz cd cmake-2.8.12.1 ./bootstrap make make install
バージョンの確認
[root@localhost cmake-2.8.12.1]# cmake --version cmake version 2.8.12.1 [root@localhost cmake-2.8.12.1]#
MySQL5.6のソースインストール
手順
cd /tmp/ tar zxf mysql-5.6.14.tar.gz cd mysql-5.6.14 cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DENABLED_LOCAL_INFILE=true \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_READLINE=OFF make make install
設定ファイル
[client] port = 3306 #socket = /var/run/mysqld/mysqld.sock socket = /tmp/mysql.sock default-character-set = utf8 [mysqld_safe] #socket = /var/run/mysqld/mysqld.sock socket = /tmp/mysql.sock nice = 0 [mysqld] # ==== Basic sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES user = mysql pid-file = /var/run/mysqld/mysql.pid #socket = /var/run/mysqld/mysqld.sock socket = /tmp/mysql.sock port = 3306 basedir = /usr/local/mysql datadir = /var/mysql/data tmpdir = /tmp lc-messages-dir = /usr/local/mysql/share character-set-server = utf8 skip-external-locking skip-character-set-client-handshake # ==== Buffer key_buffer = 32M max_allowed_packet = 16M sort_buffer_size = 1M read_buffer_size = 1M myisam_sort_buffer_size = 16M thread_stack = 192K thread_cache_size = 32 query_cache_limit = 1M query_cache_size = 128M tmp_table_size = 64MB max_heap_table_size = 64M # ==== Binary Log log-bin = mysql-bin # データインポート時はコメントアウト expire_logs_days = 10 max_binlog_size = 100M # ==== Connection #bind-address = 127.0.0.1 max_connections = 100 max_connect_errors = 1000 # ==== MyISAM myisam-recover = BACKUP # ==== InnoDB innodb_data_file_path = ibdata1:1G:autoextend innodb_file_per_table innodb_autoextend_increment = 64 innodb_buffer_pool_size = 1G innodb_write_io_threads = 8 innodb_read_io_threads = 8 innodb_log_buffer_size = 8M # 通常時:8程度, データインポート時:32程度 innodb_log_file_size = 256M innodb_flush_log_at_trx_commit = 1 # 通常時:1(デフォルト), データインポート時:2 or 0 #skip_innodb_doublewrite # ダブルライトバッファへの書き込みをスキップ(通常時は指定しない。データインポート時のみ) # ==== Log log-error = /var/log/mysql/error.log #general_log_file = /var/log/mysql/mysql.log # デバッグ時に有効化 #general_log = 1 # デバッグ時に有効化 #slow_query_log_file = /var/log/mysql/slow.log # デバッグ時に有効化 #slow_query_log = 1 # デバッグ時に有効化 [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] [isamchk] key_buffer = 16M
環境変数などの設定
# パスを追加 vim /etc/profile ---- export PATH=$PATH:/usr/local/mysql/bin ---- source /etc/profile
環境設定(ディレクトリ作成、ユーザー作成など)
# 設定ファイルをコピー cp support-files/my-default.cnf /etc/my.cnf vim /etc/my.cnf ---- # ユーザー作成 groupadd mysql useradd -g mysql -d /home/mysql -m mysql # ディレクトリ作成 mkdir -p /var/log/mysql mkdir -p /var/mysql/data mkdir -p /var/run/mysqld # 権限設定 chown -R mysql.mysql /var/log/mysql/ chown -R mysql.mysql /var/mysql/data/ chown -R mysql.mysql /var/run/mysqld/ #初期化 cd /usr/local/mysql scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/var/mysql/data --defaults-file=/etc/my.cnf # 起動スクリプト準備 cp support-files/mysql.server /etc/init.d/mysqld # 起動テスト /etc/init.d/mysqld start /etc/init.d/mysqld restart /etc/init.d/mysqld status /etc/init.d/mysqld stop # 自動起動設定 chkconfig mysqld on chkconfig --list mysqld # 起動 service mysqld start # 初回セキュリティ設定 /usr/local/mysql/bin/mysql_secure_installation # 接続 mysql -uroot -p show variables like 'character_set%'; grant all on *.* to root@"%" identified by 'password'; grant all on *.* to root@"localhost" identified by 'password'; flush privileges; ----
所感
4~5ヶ月前あたりに設定したことあったけどはてなブログやってなかったのでローカルにしか保存していなかったので
公開
インフラ系のエンジニアではないがこれくらいのコマンドは使用できないとマズイので勉強がてら
やる
vim設定ファイル編集している時、"#"のあとに改行したら#が出てきたのでちょっと調製した
vim ~/.vimrc ---- "行番号は非表示" set nonumber "全てのファイルの自動改行を無効にする" autocmd FileType * :set formatoptions=q "タブ" set ts=4 sw=4 sts=4 ----
なんか「autocmd FileType * :set formatoptions=q」をしたら改行しても#がつかなくなった
うーん、vimの勉強もちょっとずつやる必要があるのかな…なんか全然使えない