MySQL互換のMariaDBをインストールする。
# portmaster databases/mariadb
# portmaster databases/p5-DBI
# portmaster databases/p5-DBD-mysql
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Options for p5-DBD-mysql 4.018 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [X] SSL build with OpenSSL support x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
x [ OK ] Cancel x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
# vi /etc/rc.conf mysql_enable="YES"
/usr/local/share/mysql から使用するマシンのスペックに合った物を選んで、 /etc/my.cnf としてコピーする。
DB専用サーバの場合なので、他にもサーバアプリケーションを共存させる場合には、最大でもlargeぐらいが望ましい?
※但し、InnoDB関係の設定はXtraDBを使用する場合、一部互換性がないようなので注意
ここではとりあえず旧鯖の設定をそのまま持ってくる。
※初回起動時はInnoDB関係の設定はコメントアウトしておくこと!
# Example MySQL config file for large systems. # # This is for a large system with memory = 512M where the system runs mainly # MySQL. # # 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] port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 768M max_allowed_packet = 1M table_open_cache = 1024 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 16 query_cache_size= 16M query_cache_limit=512K query_cache_min_res_unit=4k query_cache_type=1 # Try number of CPU's*2 for thread_concurrency thread_concurrency = 8 character-set-server = utf8 datadir=/home/mysql tmp_table_size=1G max_heap_table_size=256M join_buffer_size=32K max_connections=50 max_user_connections=30 long_query_time=10 slow-query-log=1 slow-query-log-file=/usr/home/mysql/log-slow-queries.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 #InnoDB plugin was load like this: #ignore_builtin_innodb # note: the following statements must go all in one line #XtraDB plugin was load like this: #plugin-load=ha_xtradb.so #InnoDB options were: default-storage-engine=InnoDB innodb_file_per_table=1 innodb_file_format=barracuda innodb_strict_mode=1 #innodb_data_home_dir = /mnt/data/mysql/ #innodb_data_file_path = ibdata1:128M:autoextend #innodb_log_group_home_dir = /mnt/data/mysql/ innodb_buffer_pool_size = 1G innodb_additional_mem_pool_size = 24M #innodb_log_file_size = 64M #innodb_log_buffer_size = 4M #innodb_flush_log_at_trx_commit = 1 #innodb_lock_wait_timeout = 50 innodb_doublewrite=0 #innodb_flush_method=O_DIRECT innodb_thread_concurrency=8 innodb_max_dirty_pages_pct=64 innodb_support_xa=0 # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = /var/db/mysql #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = /var/db/mysql # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #innodb_buffer_pool_size = 1024M #innodb_additional_mem_pool_size = 48M # Set .._log_file_size to 25 % of buffer pool size #innodb_log_file_size = 64M #innodb_log_buffer_size = 8M #innodb_flush_log_at_trx_commit = 1 #innodb_lock_wait_timeout = 50 [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates default-character-set = utf8 [myisamchk] key_buffer_size = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout
# mkdir /home/mysql # chown -R mysql:mysql /home/mysql # vi /etc/my.cnf [mysqld] datadir=/home/mysql # vi /etc/rc.conf mysql_dbdir="/home/mysql"
# ln -s /etc/my.cnf /home/mysql/my.cnf
# service mysql-server start
# mysql -u root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 1 Server version: 5.2.4-MariaDB-log Source distribution This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show engines; +------------+---------+-----------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +------------+---------+-----------------------------------------------------------+--------------+------+------------+ | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | Aria | YES | Crash-safe tables with MyISAM heritage | YES | NO | NO | +------------+---------+-----------------------------------------------------------+--------------+------+------------+ 5 rows in set (0.00 sec) MariaDB [(none)]> show plugin; +-----------------------+--------+----------------+-----------------+---------+ | Name | Status | Type | Library | License | +-----------------------+--------+----------------+-----------------+---------+ | binlog | ACTIVE | STORAGE ENGINE | NULL | GPL | | mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL | | mysql_old_password | ACTIVE | AUTHENTICATION | NULL | GPL | | MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | CSV | ACTIVE | STORAGE ENGINE | NULL | GPL | | MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL | | Maria | ACTIVE | DAEMON | NULL | GPL | | Aria | ACTIVE | STORAGE ENGINE | NULL | GPL | | MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | +-----------------------+--------+----------------+-----------------+---------+ 9 rows in set, 1 warning (0.01 sec) MariaDB [(none)]> INSTALL PLUGIN innodb SONAME 'ha_xtradb.so'; Query OK, 0 rows affected (0.98 sec) MariaDB [(none)]> install plugin sphinx soname "ha_sphinx.so"; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> install plugin archive soname "ha_archive.so"; Query OK, 0 rows affected (0.02 sec) MariaDB [(none)]> install plugin example soname "ha_example.so"; Query OK, 0 rows affected (0.01 sec) MariaDB [(none)]> install plugin blackhole soname "ha_blackhole.so"; Query OK, 0 rows affected (0.01 sec) MariaDB [(none)]> install plugin federated soname "ha_federated.so"; Query OK, 0 rows affected (0.02 sec) MariaDB [(none)]> show engines; +------------+---------+--------------------------------------------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +------------+---------+--------------------------------------------------------------------------------------------------+--------------+------+------------+ | EXAMPLE | YES | Example storage engine | NO | NO | NO | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | SPHINX | YES | Sphinx storage engine 0.9.9 | NO | NO | NO | | Aria | YES | Crash-safe tables with MyISAM heritage | YES | NO | NO | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | MyISAM | YES | Default engine as of MySQL 3.23 with great performance | NO | NO | NO | | FEDERATED | YES | Federated MySQL storage engine | NO | NO | NO | | InnoDB | DEFAULT | XtraDB engine based on InnoDB plugin. Supports transactions, row-level locking, and foreign keys | YES | YES | YES | +------------+---------+--------------------------------------------------------------------------------------------------+--------------+------+------------+ 11 rows in set (0.00 sec) MariaDB [(none)]> show plugin; +-----------------------+--------+----------------+-----------------+---------+ | Name | Status | Type | Library | License | +-----------------------+--------+----------------+-----------------+---------+ | binlog | ACTIVE | STORAGE ENGINE | NULL | GPL | | mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL | | mysql_old_password | ACTIVE | AUTHENTICATION | NULL | GPL | | MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | CSV | ACTIVE | STORAGE ENGINE | NULL | GPL | | MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL | | Maria | ACTIVE | DAEMON | NULL | GPL | | Aria | ACTIVE | STORAGE ENGINE | NULL | GPL | | MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | InnoDB | ACTIVE | STORAGE ENGINE | ha_xtradb.so | GPL | | SPHINX | ACTIVE | STORAGE ENGINE | ha_sphinx.so | GPL | | ARCHIVE | ACTIVE | STORAGE ENGINE | ha_archive.so | GPL | | EXAMPLE | ACTIVE | STORAGE ENGINE | ha_example.so | GPL | | BLACKHOLE | ACTIVE | STORAGE ENGINE | ha_blackhole.so | GPL | | FEDERATED | ACTIVE | STORAGE ENGINE | ha_federated.so | GPL | +-----------------------+--------+----------------+-----------------+---------+ 15 rows in set, 1 warning (0.01 sec) MariaDB [(none)]> exit Bye
ここまで済んだらInnoDB関係の設定を有効にして再起動