linux-x64用MySQLのインストール
参考情報
- 最新のディストリビューションはここからチェック
mysqlユーザーとグループの作成
groupadd mysql useradd -r -g mysql mysql
設定ファイルの配置
/etc/my.cnf を配置する。以下例。
# Example MySQL config file for medium systems. # # This is for a system with little memory (32M - 64M) where MySQL plays # an important part, or systems up to 128M where MySQL is used together with # other programs (such as a web server) # # MySQL programs look for option files in a set of # locations which depend on the deployment platform. # You can copy this option file to one of those # locations. For information about these locations, see: # http://dev.mysql.com/doc/mysql/en/option-files.html # # In this file, you can use all long options that a program supports. # If you want to know which options a program supports, run the program # with the "--help" option. # The following options will be passed to all MySQL clients [client] #password = your_password port = 3306 socket = /tmp/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] basedir = /opt/mysql/mysql port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 64M max_allowed_packet = 1M table_open_cache = 256 sort_buffer_size = 4M net_buffer_length = 8K read_buffer_size = 1M read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M character-set-server = utf8mb4 skip-character-set-client-handshake default-storage-engine = InnoDB slow_query_log = 1 slow_query_log_file = slow_query.log long_query_time = 0.5 log-queries-not-using-indexes = 1 general-log = 1 general_log_file = query.log # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! # #skip-networking # Replication Master Server (default) # binary logging is required for replication #log-bin=mysql-bin # binary logging format - mixed recommended #binlog_format=mixed # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id = 1 # Replication Slave (comment out master section to use this) # # To configure this host as a replication slave, you can choose between # two methods : # # 1) Use the CHANGE MASTER TO command (fully described in our manual) - # the syntax is: # # CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>, # MASTER_USER=<user>, MASTER_PASSWORD=<password> ; # # where you replace <host>, <user>, <password> by quoted strings and # <port> by the master's port number (3306 by default). # # Example: # # CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, # MASTER_USER='joe', MASTER_PASSWORD='secret'; # # OR # # 2) Set the variables below. However, in case you choose this method, then # start replication for the first time (even unsuccessfully, for example # if you mistyped the password in master-password and the slave fails to # connect), the slave will create a master.info file, and any later # change in this file to the variables' values below will be ignored and # overridden by the content of the master.info file, unless you shutdown # the slave server, delete master.info and restart the slaver server. # For that reason, you may want to leave the lines below untouched # (commented) and instead use CHANGE MASTER TO (see above) # # required unique id between 2 and 2^32 - 1 # (and different from the master) # defaults to 2 if master-host is set # but will not function as a slave if omitted #server-id = 2 # # The replication master for this slave - required #master-host = <hostname> # # The username the slave will use for authentication when connecting # to the master - required #master-user = <username> # # The password the slave will authenticate with when connecting to # the master - required #master-password = <password> # # The port the master is listening on. # optional - defaults to 3306 #master-port = <port> # # binary logging - not required for slaves, but recommended #log-bin=mysql-bin # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = ibdata innodb_data_file_path = ibdata1:1G #innodb_log_group_home_dir = ibdata # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high innodb_buffer_pool_size = 128M innodb_additional_mem_pool_size = 2M # Set .._log_file_size to 25 % of buffer pool size innodb_log_file_size = 32M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 innodb_file_per_table innodb_file_format=barracuda innodb_strict_mode=1 [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout
/etc/my.cnf のファイルパーミッションの設定
chown root:mysql /etc/my.cnf chmod 660 /etc/my.cnf
インストール
# 作業ディレクトリの作成 mkdir /tmp/mysql-installation-working-dir cd /tmp/mysql-installation-working-dir # 環境変数の設定 VERSION="5.6.12" # MySQLのダウンロード wget -O mysql-${VERSION}-linux-glibc2.5-x86_64.tar.gz http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-${VERSION}-linux-glibc2.5-x86_64.tar.gz/from/http://cdn.mysql.com/ # shared library のインストール yes | apt-get install libaio1 # MySQLのインストール mkdir -p /opt/mysql cd /opt/mysql tar zxvf /tmp/mysql-installation-working-dir/mysql-${VERSION}-linux-glibc2.5-x86_64.tar.gz ln -s mysql-${VERSION}-linux-glibc2.5-x86_64 mysql cd mysql chown -R mysql:mysql /opt/mysql scripts/mysql_install_db --user=mysql chown -R root . chown -R mysql data cp support-files/mysql.server /etc/init.d/mysql # /usr/local/bin にリンクしておく ln -f -s /opt/mysql/mysql/bin/innochecksum /usr/local/bin/innochecksum ln -f -s /opt/mysql/mysql/bin/myisampack /usr/local/bin/myisampack ln -f -s /opt/mysql/mysql/bin/mysqladmin /usr/local/bin/mysqladmin ln -f -s /opt/mysql/mysql/bin/mysql_client_test_embedded /usr/local/bin/mysql_client_test_embedded ln -f -s /opt/mysql/mysql/bin/mysqld-debug /usr/local/bin/mysqld-debug ln -f -s /opt/mysql/mysql/bin/mysql_embedded /usr/local/bin/mysql_embedded ln -f -s /opt/mysql/mysql/bin/mysql_plugin /usr/local/bin/mysql_plugin ln -f -s /opt/mysql/mysql/bin/mysqltest /usr/local/bin/mysqltest ln -f -s /opt/mysql/mysql/bin/mysql_zap /usr/local/bin/mysql_zap ln -f -s /opt/mysql/mysql/bin/msql2mysql /usr/local/bin/msql2mysql ln -f -s /opt/mysql/mysql/bin/my_print_defaults /usr/local/bin/my_print_defaults ln -f -s /opt/mysql/mysql/bin/mysqlbinlog /usr/local/bin/mysqlbinlog ln -f -s /opt/mysql/mysql/bin/mysql_config /usr/local/bin/mysql_config ln -f -s /opt/mysql/mysql/bin/mysqld_multi /usr/local/bin/mysqld_multi ln -f -s /opt/mysql/mysql/bin/mysql_find_rows /usr/local/bin/mysql_find_rows ln -f -s /opt/mysql/mysql/bin/mysql_secure_installation /usr/local/bin/mysql_secure_installation ln -f -s /opt/mysql/mysql/bin/mysqltest_embedded /usr/local/bin/mysqltest_embedded ln -f -s /opt/mysql/mysql/bin/perror /usr/local/bin/perror ln -f -s /opt/mysql/mysql/bin/myisamchk /usr/local/bin/myisamchk ln -f -s /opt/mysql/mysql/bin/mysql /usr/local/bin/mysql ln -f -s /opt/mysql/mysql/bin/mysqlbug /usr/local/bin/mysqlbug ln -f -s /opt/mysql/mysql/bin/mysql_config_editor /usr/local/bin/mysql_config_editor ln -f -s /opt/mysql/mysql/bin/mysqld_safe /usr/local/bin/mysqld_safe ln -f -s /opt/mysql/mysql/bin/mysql_fix_extensions /usr/local/bin/mysql_fix_extensions ln -f -s /opt/mysql/mysql/bin/mysql_setpermission /usr/local/bin/mysql_setpermission ln -f -s /opt/mysql/mysql/bin/mysql_tzinfo_to_sql /usr/local/bin/mysql_tzinfo_to_sql ln -f -s /opt/mysql/mysql/bin/replace /usr/local/bin/replace ln -f -s /opt/mysql/mysql/bin/myisam_ftdump /usr/local/bin/myisam_ftdump ln -f -s /opt/mysql/mysql/bin/mysqlaccess /usr/local/bin/mysqlaccess ln -f -s /opt/mysql/mysql/bin/mysqlcheck /usr/local/bin/mysqlcheck ln -f -s /opt/mysql/mysql/bin/mysql_convert_table_format /usr/local/bin/mysql_convert_table_format ln -f -s /opt/mysql/mysql/bin/mysqldump /usr/local/bin/mysqldump ln -f -s /opt/mysql/mysql/bin/mysqlhotcopy /usr/local/bin/mysqlhotcopy ln -f -s /opt/mysql/mysql/bin/mysqlshow /usr/local/bin/mysqlshow ln -f -s /opt/mysql/mysql/bin/mysql_upgrade /usr/local/bin/mysql_upgrade ln -f -s /opt/mysql/mysql/bin/resolveip /usr/local/bin/resolveip ln -f -s /opt/mysql/mysql/bin/myisamlog /usr/local/bin/myisamlog ln -f -s /opt/mysql/mysql/bin/mysqlaccess.conf /usr/local/bin/mysqlaccess.conf ln -f -s /opt/mysql/mysql/bin/mysql_client_test /usr/local/bin/mysql_client_test ln -f -s /opt/mysql/mysql/bin/mysqld /usr/local/bin/mysqld ln -f -s /opt/mysql/mysql/bin/mysqldumpslow /usr/local/bin/mysqldumpslow ln -f -s /opt/mysql/mysql/bin/mysqlimport /usr/local/bin/mysqlimport ln -f -s /opt/mysql/mysql/bin/mysqlslap /usr/local/bin/mysqlslap ln -f -s /opt/mysql/mysql/bin/mysql_waitpid /usr/local/bin/mysql_waitpid ln -f -s /opt/mysql/mysql/bin/resolve_stack_dump /usr/local/bin/resolve_stack_dump
設定ファイルの修正
/etc/init.d/mysql に環境情報をセットする。
以下例:
vi /etc/init.d/mysql :%s/^basedir=$/basedir=\/opt\/mysql\/mysql :%s/^datadir=$/datadir=\/opt\/mysql\/mysql\/data
mysqldの起動
/etc/init.d/mysql start
MySQLのルートパスワードの設定等
/opt/mysql/mysql/bin/mysql_secure_installation # パスワードを設定し、以降全部Yで対応。
後片付け
rm -rf /tmp/mysql-installation-working-dir
自動起動設定
update-rc.d mysql defaults