Easy mysql master-slave replication on ubuntu12.04LTS

来源:互联网 发布:java转十六进制 内存 编辑:程序博客网 时间:2024/06/05 12:42

Easy mysql master-slave replication on ubuntu12.04LTS

1. Prepare the mysql master and slave(s) mysql server

2. Dump/import data or just copy the mysql data folder to every server

3. Configure master

</pre><p></p><p></p><p></p><p></p><pre name="code" class="plain">Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> GRANT REPLICATION SLAVE ON *.* TO 'salve_user'@'%' IDENTIFIED BY 'PASSWORD';



[client]port            = 3306socket          = /var/run/mysqld/mysqld.sock# Here is entries for some specific programs# The following values assume you have at least 32M ram# This was formally known as [safe_mysqld]. Both versions are currently parsed.[mysqld_safe]socket          = /var/run/mysqld/mysqld.socknice            = 0[mysqld]## * Basic Settings#user            = mysql                                                                                           1,1           Top#user            = mysqlpid-file        = /var/run/mysqld/mysqld.pidsocket          = /var/run/mysqld/mysqld.sockport            = 3306basedir         = /usrdatadir         = /data/mysqltmpdir          = /tmplc-messages-dir = /usr/share/mysqlskip-external-locking## Instead of skip-networking the default is now to listen only on# localhost which is more compatible and is not less secure.bind-address            = 192.168.0.1## * Fine Tuning#key_buffer              = 16Mmax_allowed_packet      = 16Mthread_stack            = 192Kthread_cache_size       = 8# This replaces the startup script and checks MyISAM tables if needed# the first time they are touchedmyisam-recover         = BACKUPmax_connections        = 65535#table_cache            = 64#thread_concurrency     = 10## * Query Cache Configuration#query_cache_limit       = 1Mquery_cache_size        = 16M## * Logging and Replication## Both location gets rotated by the cronjob.# Be aware that this log type is a performance killer.# As of 5.1 you can enable the log at runtime!general_log_file        = /var/log/mysql/mysql.loggeneral_log             = 1## Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.## Here you can see queries with especially long durationlog_slow_queries        = /var/log/mysql/mysql-slow.loglong_query_time = 2#log-queries-not-using-indexes## The following can be used as easy to replay backup logs or for replication.# note: if you are setting up a replication slave, see README.Debian about#       other settings you may need to change.server-id               = 1log_bin                 = /data/mysql/binlog/mysql-bin.logexpire_logs_days        = 10max_binlog_size         = 100Mbinlog_do_db            = DBNAME#binlog_ignore_db       = include_database_name## * InnoDB## InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.# Read the manual for more InnoDB related options. There are many!## * Security Features## Read the manual, too, if you want chroot!# chroot = /var/lib/mysql/## For generating SSL certificates I recommend the OpenSSL GUI "tinyca".## ssl-ca=/etc/mysql/cacert.pem# ssl-cert=/etc/mysql/server-cert.pem# ssl-key=/etc/mysql/server-key.pem[mysqldump]quickquote-namesmax_allowed_packet      = 16M[mysql]#no-auto-rehash # faster start of mysql but no tab completition[isamchk]key_buffer              = 16M## * IMPORTANT: Additional settings that can override those from this file!#   The files must end with '.cnf', otherwise they'll be ignored.#!includedir /etc/mysql/conf.d/                                                       

4.Configure slave(s)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.1', MASTER_USER='slave_user', MASTER_PASSWORD='PASSWORD', MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=  107;
mysql> START SLAVE;


vi /etc/mysql/my.cnf
[client]port            = 3306socket          = /var/run/mysqld/mysqld.sock# Here is entries for some specific programs# The following values assume you have at least 32M ram# This was formally known as [safe_mysqld]. Both versions are currently parsed.[mysqld_safe]socket          = /var/run/mysqld/mysqld.socknice            = 0[mysqld]## * Basic Settings#user            = mysqlpid-file        = /var/run/mysqld/mysqld.pidsocket          = /var/run/mysqld/mysqld.sockport            = 3306basedir         = /usrdatadir         = /data/mysqltmpdir          = /tmplc-messages-dir = /usr/share/mysqlskip-external-locking## Instead of skip-networking the default is now to listen only on# localhost which is more compatible and is not less secure.bind-address            = 192.168.0.2## * Fine Tuning#key_buffer              = 16Mmax_allowed_packet      = 16Mthread_stack            = 192Kthread_cache_size       = 8# This replaces the startup script and checks MyISAM tables if needed# the first time they are touchedmyisam-recover         = BACKUPmax_connections        = 65535#table_cache            = 64#thread_concurrency     = 10## * Query Cache Configuration#query_cache_limit       = 1Mquery_cache_size        = 16M## * Logging and Replication## Both location gets rotated by the cronjob.# Be aware that this log type is a performance killer.# As of 5.1 you can enable the log at runtime!general_log_file        = /var/log/mysql/mysql.loggeneral_log             = 1## Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.## Here you can see queries with especially long durationlog_slow_queries        = /var/log/mysql/mysql-slow.loglong_query_time = 2#log-queries-not-using-indexes## The following can be used as easy to replay backup logs or for replication.# note: if you are setting up a replication slave, see README.Debian about#       other settings you may need to change.server-id               = 2log_bin                 = /data/mysql/binlog/mysql-bin.logexpire_logs_days        = 10max_binlog_size         = 100Mrelay-log = /data/mysql/binlog/mysql-relay-log.logrelay-log-index = relay-log.indexbinlog_do_db            = appgame_jifen#binlog_ignore_db       = include_database_name## * InnoDB## InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.# Read the manual for more InnoDB related options. There are many!## * Security Features## Read the manual, too, if you want chroot!## For generating SSL certificates I recommend the OpenSSL GUI "tinyca".## ssl-ca=/etc/mysql/cacert.pem# ssl-cert=/etc/mysql/server-cert.pem# ssl-key=/etc/mysql/server-key.pem[mysqldump]quickquote-namesmax_allowed_packet      = 16M[mysql]#no-auto-rehash # faster start of mysql but no tab completition[isamchk]key_buffer              = 16M## * IMPORTANT: Additional settings that can override those from this file!#   The files must end with '.cnf', otherwise they'll be ignored.#!includedir /etc/mysql/conf.d/

0 0