Apache2 рдФрд░ MySQL рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рд╕реБрд▓рдн рд╡рд┐рдлрд▓-рд╕реБрд░рдХреНрд╖рд┐рдд рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ

HA-Apache2 рд╡реЗрдм-рд╕рд╛рдЗрдЯ рдФрд░ HA-MySQL



рдЙрджреНрджреЗрд╢реНрдп: рд╡реЗрдм-рд╕рд░реНрд╡рд░ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реЗрдм-рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рдиреНрдпреВрдирддрдо рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ред

рдиреЛрдЯ! рдпрд╣ рдпреЛрдЬрдирд╛ рдорд╛рдирддреА рд╣реИ рдХрд┐ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рднрд┐рдиреНрди рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо WordPress рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗред



рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд▓реНрдк:

рдЪреВрдВрдХрд┐ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрдо рд╕реЗ рдХрдо рджреЛ рд╕рд░реНрд╡рд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рд╕рд░реНрд╡рд░ рдПрдХ-рджреВрд╕рд░реЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВрдЧреЗ, рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдХрд┐рд╕реА рднреА рд╕рдордп рдЕрдЧреНрд░рдгреА рд╣реЛрдЧрд╛ред рд╣реЛрд╕реНрдЯ рд╕рд░реНрд╡рд░ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдХреА рднреВрдорд┐рдХрд╛ рджреВрд╕рд░реА рд╣реИред рдЬрдм рдкрд╣рд▓рд╛ рд╕рд░реНрд╡рд░ рдлрд┐рд░ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛, рддреЛ рдиреЗрддрд╛ рдХреА рднреВрдорд┐рдХрд╛ рдлрд┐рд░ рд╕реЗ рдЙрд╕ рдкрд░ рд▓реМрдЯ рдЖрдПрдЧреАред



рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдо рд╕реЗ рдХрдо рджреЛ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдЖрдИрдкреА-рдПрдбреНрд░реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рд╡реЗрдм-рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рд╡рд┐рдлрд▓рддрд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред рдкреНрд░рд╛рдердорд┐рдХ рдФрд░ рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рджреНрд╡рд┐рджрд┐рд╢ рдкреНрд░рддрд┐рдХреГрддрд┐ рддрдВрддреНрд░ ("рдорд╛рд╕реНрдЯрд░-рдорд╛рд╕реНрдЯрд░") рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рд╕рдВрддреБрд▓рди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕реНрддрд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рджреЛ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╕рд░реНрд╡рд░ рдкреЛрд░реНрдЯ 3306 рдкрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реБрдиреЗрдВрдЧреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкреНрд░рдореБрдЦ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдиреЗрддрд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджреВрд╕рд░рд╛ рд╕рд░реНрд╡рд░ рдЕрдкрдиреА рднреВрдорд┐рдХрд╛ рдорд╛рдирддрд╛ рд╣реИ (рд╕рд┐рджреНрдзрд╛рдВрдд рд╡реЗрдм-рд╕рд░реНрд╡рд░ рдХреЗ рдХрд╛рдо рдХреЗ рд╕рдорд╛рди рд╣реИ)ред

рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рд╕реНрддреБрдХрд▓рд╛:





рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд░реНрд╡рд░ рдирд╛рдо рдФрд░ рдЖрдИрдкреА рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:

рд╕рд░реНрд╡рд░ рдЖрдИрдкреА тАЛтАЛрдПрдбреНрд░реЗрд╕
рдЕрдкрд╛рдЪреЗ-APP1 192.168.8.221
рдЕрдкрд╛рдЪреЗ-APP2 192.168.8.222
mysql-proxy1 192.168.8.224
mysql-proxy2 192.168.8.225
mysql-data1 192.168.8.226
mysql-data2 192.168.8.227




рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╣рдореЗрдВ рджреЛ рдФрд░ рдЖрдИрдкреА рдкрддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

рдЖрдИрдкреА тАЛтАЛрдПрдбреНрд░реЗрд╕ рдирд┐рдпреБрдХреНрддрд┐
192.168.8.220 рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрд▓ рдХрд╛ рдкрддрд╛
192.168.8.223 MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрддрд╛




рдиреЛрдЯ! рдЗрд╕ рдореИрдиреБрдЕрд▓ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рд╕рднреА рд╕рд┐рд╕реНрдЯрдо UbuntuSS 8.0 8.0 LTS рдХреЗ рд╕рд╛рде рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ (mysql-data1 рдФрд░ mysql-data2) рд╕реЗрдЯ рдХрд░реЗрдВред

рдиреЛрдЯ! рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдВ рд╕реБрдкрд░рд╕реБрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИрдВред

рд╣рдо рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рдбрд╛рд▓рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдПрдХ MySQL рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди, рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдордЬрдмреВрдд рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░реЗрдВред



apt-get install mysql-server --yes







рд╣рдо рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╡реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ MySQL рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реБрдиреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ /etc/mysql/my.cnf рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдЗрд╕рдореЗрдВ, рдЖрдкрдХреЛ рд▓рд╛рдЗрди рдмрд╛рдЗрдВрдб-рдПрдбреНрд░реЗрд╕ = 127.0.0.1 рдЦреЛрдЬрдиреЗ рдФрд░ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ



bind-address=192.168.8.226







mysql-data1 рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдФрд░



bind-address=192.168.8.227







mysql-data2 рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП

рд╕реЗрд╡рд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛:



/etc/init.d/mysql restart







рд╣рдо рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВред

рдпреВрдирд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓ рдкреНрд░рддрд┐рдХреГрддрд┐ ("рдорд╛рд╕реНрдЯрд░-рд╕реНрд▓реЗрд╡") рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрдм рдПрдХ рджрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛ рдЕрд╕рдВрдЧрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред рджреНрд╡рд┐-рджрд┐рд╢рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХ рд╕реБрд╕рдВрдЧрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдВрдЧреЗред

рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП, рд╣рдо MySQL рдкреНрд░рддрд┐рдХреГрддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб some_password рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

Mysql-data1 рд╕рд░реНрд╡рд░ рдкрд░, рдлрд╝рд╛рдЗрд▓ /etc/mysql/my.cnf рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдирд┐рдореНрди рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:



server-id = 1

log_bin = /var/log/mysql/mysql-bin.log

max_binlog_size = 100M

binlog_ignore_db = test

binlog_ignore_db = mysql

master-host = 192.168.8.227 #ip- mysql-data2

master-user = replication #

master-password = some_password #

master-port = 3306








рд╣рдо рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ MySQL рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ mysql-data2 рд╕рд░реНрд╡рд░ рд╕реЗ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреГрддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВ:



mysql -u root -p

Enter password: root,

>grant replication slave on *.* to 'replication'@'192.168.8.227' identified by 'some_password';

>flush privileges;

>quit;

/etc/init.d/mysql restart








рд╣рдо mysql-data2 рд╕рд░реНрд╡рд░ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред

рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдВрдкрд╛рджрди /etc/mysql/my.cnfред рдирд┐рдореНрди рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:



server-id = 2

log_bin = /var/log/mysql/mysql-bin.log

max_binlog_size = 100M

binlog_ignore_db = test

binlog_ignore_db = mysql

master-host = 192.168.8.226 #ip- mysql-data1

master-user = replication #

master-password = some_password #

master-port = 3306








рд╣рдо рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ MySQL рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ mysql-data1 рд╕рд░реНрд╡рд░ рд╕реЗ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреГрддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВ:



mysql -u root -p

Enter password: root,

>grant replication slave on *.* to 'replication'@'192.168.8.226' identified by 'some_password';

>flush privileges;

>quit;

/etc/init.d/mysql restart








рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░, рд╣рдо рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓ рд░рд╣реА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░реЗрдВ:



mysql тАФu root тАФp

Enter password: root,

>show slave status \G








рдкреНрд░рджрд░реНрд╢рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ, рд╣рдо рддреАрди рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ:



Slave_IO_State: Waiting for master to send event

Slave_IO_Running: Yes

Slave_SQL_Running: Yes








рдпрджрд┐ рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд▓реЙрдЧ рджреЗрдЦреЗрдВред

рдЪрд▓реЛ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рддреЗ рд╣реИрдВред Mysql-data1 рд╕рд░реНрд╡рд░ рдкрд░, рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░реЗрдВ:



mysql тАФu root тАФp

Enter password: root,

>create database wp_database;








рдЖрдЗрдП mysql-data2 рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:



mysql тАФu root тАФp

Enter password: root,

>show databases;








рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рдЖрдзрд╛рд░ рдХрд╛ рдирд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рд╕реЗ рдЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдБрдЪ рдЕрдзрд┐рдХрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░реЗрдВ:



mysql тАФu root тАФp

Enter password: root,

>grant all on wp_database.* to 'wp_user'@'192.168.8.224' identified by 'wp_user_password';

>grant all on wp_database.* to 'wp_user'@'192.168.8.225' identified by 'wp_user_password';

>flush privileges;

>quit;








рд╣рдо рд╕рдВрддреБрд▓рди рдФрд░ mysql- рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рдорд╛рдпреЛрдЬрди рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред

Mysql -xy1 рдФрд░ mysql -xy2 рд╕рд░реНрд╡рд░ рдкрд░ рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдмрд╛рдж рдореЗрдВ, рд╕рднреА рдХрдорд╛рдВрдб рд╕реБрдкрд░рд╕реБрд╕рд░ рдХреА рдУрд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред



apt-get install mysql-proxy heartbeat







рд╣рдо рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ mysql- рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ, mysql-data1 рдФрд░ mysql-data2 рд╕рд░реНрд╡рд░ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:



mysql-proxy --proxy-backend-addresses=192.168.8.226 \

--proxy-backend-addresses=192.168.8.227 \

--proxy-address=:3306

тАФdaemon








рд╣рдо рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВред

рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдБ:



touch /etc/ha.d/authkeys

touch /etc/ha.d/ha.cf

touch /etc/ha.d/haresources








рдлрд╝рд╛рдЗрд▓ /etc/ha.d/authkeys рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВ



chmod 600 /etc/ha.d/authkeys







рдФрд░ рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:



auth 2

2 sha1 your-strong-password








рд╣рдорд╛рд░реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╝рд╛рдЗрд▓ /etc/ha.d/ha.cf рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдлрд╝рд╛рдЗрд▓ рджреЛрдиреЛрдВ рдиреЛрдбреНрд╕ рдкрд░ рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред



logfile /var/log/ha-log #

logfacility local0

keepalive 2 # ,

deadtime 10 #

initdead 120

bcast eth0

udpport 694

auto_failback on

node mysql-proxy1

node mysql-proxy2








рдиреЛрдЯ! рдиреЛрдб рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рджреЛрдиреЛрдВ рдиреЛрдбреНрд╕ рдкрд░ uname -n рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП!



рдлрд╝рд╛рдЗрд▓ /etc/ha.d/haresources рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдлрд╝рд╛рдЗрд▓ рджреЛрдиреЛрдВ рдиреЛрдбреНрд╕ рдкрд░ рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред



mysql-proxy1 192.168.8.223 # MySQL







рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ (рдкрд╣рд▓реЗ mysql -xy1, рдФрд░ рдлрд┐рд░ mysql -xy2)ред



/etc/init.d/heartbeat restart







рд╣рдо рдЕрдкрд╛рдЪреЗ- app1 рдФрд░ рдЕрдкрд╛рдЪреЗ- app2 рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред



apt-get install apache2 php5 php5-gd php5-mysql libapache2-mod heartbeat --yes







рд╣рдо рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗ рд╕рдорд╛рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдБ:



touch /etc/ha.d/authkeys

touch /etc/ha.d/ha.cf

touch /etc/ha.d/haresources








рдлрд╝рд╛рдЗрд▓ /etc/ha.d/authkeys рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВ



chmod 600 /etc/ha.d/authkeys







рдФрд░ рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:



auth 2

2 sha1 your-strong-password








рд╣рдорд╛рд░реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╝рд╛рдЗрд▓ /etc/ha.d/ha.cf рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдлрд╝рд╛рдЗрд▓ рджреЛрдиреЛрдВ рдиреЛрдбреНрд╕ рдкрд░ рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред



logfile /var/log/ha-log #

logfacility local0

keepalive 2 # ,

deadtime 10 #

initdead 120

bcast eth0

udpport 694

auto_failback on

node apache-app1

node apache-app2








рдлрд╝рд╛рдЗрд▓ /etc/ha.d/haresources рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдлрд╝рд╛рдЗрд▓ рджреЛрдиреЛрдВ рдиреЛрдбреНрд╕ рдкрд░ рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред



apache-app1 192.168.8.220 apache2 # web-







рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ (рдкрд╣рд▓реЗ рдЕрдкрд╛рдЪреЗ-рдРрдк 1, рдФрд░ рдлрд┐рд░ рдЕрдкрд╛рдЪреЗ-рдРрдк 2) рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред



/etc/init.d/heartbeat restart







рд╡рд░реНрдбрдкреНрд░реЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

рд╣рдо рджреЛрдиреЛрдВ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░ рд╡рд░реНрдбрдкреНрд░реЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЙрд╕реА рддрд░рд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рд╕реНрддреГрдд рд╕реНрдерд╛рдкрдирд╛ рдирд┐рд░реНрджреЗрд╢ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реИрдВред рдпрд╣рд╛рдВ рдореИрдВ рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП wp-config.php рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рджреЗрддрд╛ рд╣реВрдВред



/** WordPress */

define('DB_NAME', 'wp_database');

/** MySQL */

define('DB_USER', 'wp_user');

/** MySQL */

define('DB_PASSWORD', 'wp_user_password');

/** MySQL */

define('DB_HOST', '192.168.8.223тА▓);








рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред WordPress рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ 192.168.8.220/wordpress_name_name



рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ mysql- рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯ-рдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВред



mkdir / etc / mysql -xy



рдмрдирд╛рдИ рдЧрдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, mysql -xy.conf рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБред рдореЗрд░реА рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА:



#########################################

# Service configuration section

# Specify backend MySQL servers (one per line)

#########################################

proxy-backend-addresses = 192.168.8.226

proxy-backend-addresses = 192.168.8.227

#########################################

# Port configuration section

#########################################

proxy-address = :3306








рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде /etc/init.d/ рдореЗрдВ mysql- рдкреНрд░реЙрдХреНрд╕реА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:



#!/usr/bin/perl -w

$appPath='mysql-proxy ';

#Path for configuration file. Modify if different.

$configFileName='/etc/mysql-proxy/mysql-proxy.conf';

chomp($input=lc($ARGV[0]));

if ($input eq 'start')

{

open(CONFIG, "$configFileName")||die "File open error!: $!\n";

while (){push (@fileStrings, $_);}

close(CONFIG);

chomp(@addresses = grep {/^\s*proxy-backend-addresses\s*=/i} @fileStrings);

foreach (@addresses)

{

($parameter,$value)=split(/=/);

$parameter =~ s/\s+//g;

$value =~ s/\s+//g;

$appPath=$appPath."--".$parameter."=".$value." ";

}

chomp(@addresses = grep {/^\s*proxy-address\s*=/i} @fileStrings);

@addresses= split(/=/,$addresses[0]);

$addresses[1] =~ s/\s+//g;

$appPath=$appPath."--proxy-address=".$addresses[1]." --daemon";

print "Starting mysql-proxy...\n";

system($appPath);

print "Done!\n";

}

else

{

if ($input eq 'stop')

{

print "Trying to kill mysql-proxy...\n";

system ('killall mysql-proxy');

print "Done!\n";

}

else {print "Usage: /etc/init.d/mysql-proxy start|stop\n";}

}








рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ:

1. рдЙрдмрдВрдЯреВ 8.04 рдкрд░ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЕрдкрд╛рдЪреЗ

2. рдЙрдмрдВрдЯреВ 8.04 рдкрд░ рд▓реЛрдб-рд╕рдВрддреБрд▓рд┐рдд рдЕрддреНрдпрдзрд┐рдХ рдЙрдкрд▓рдмреНрдз MySQL

3. рдЙрдмрдВрдЯреВ 8.04 рдкрд░ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ MySQL

4. MySQL рд╡рд┐рдлрд▓рддрд╛

5. рд╕рдВрддреБрд▓рд┐рдд, рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛, рдЕрдкрд╛рдЪреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдХреИрд╕реЗ рд╕реЗрдЯрдЕрдк рдХрд░реЗрдВ

6. ApacheMySQLPHP



All Articles