рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯреИрдХ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ (LAMP рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди, рдЪрд░рдг 2/6)

рд▓рд┐рдирдХреНрд╕: рдПрдХ MySQL рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдХреА рд╕реНрдерд╛рдкрдирд╛


рдЪрд▓рд┐рдП рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рджреВрд╕рд░реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд╛рда рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ - рд╣рдо MySQL / PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреЛрдб (VM) рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗред

рдЗрд╕ рд╕реНрдерд╛рдкрдирд╛ рдореЗрдВ, рд╣рдо MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреА рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ vm04 рдкрд░ IP рдПрдбреНрд░реЗрд╕ 192.168.1.13 рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рдПрдВрдЧреА

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


RHEL / CentOS рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдпрдо рдкреНрд░рдмрдВрдзрдХ рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:

# yum install mysql mysql-server 

MySQL рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк

рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ /etc/my.cnf :

 # vi /etc/my.cnf 

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ MySQL рд╕рд░реНрд╡рд░ vm01 рдФрд░ vm02 рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рд╕реЗ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Apache + php5 рд▓рдЧрд╛ рд╣реИред [Mysqld] рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдБ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ / рдареАрдХ рдХрд░реЗрдВ рддрд╛рдХрд┐ mysqld рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрд╡рд╛ рдХреЛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ :

 # ,   skip-networking  ( ) # skip-networking #    bind-address=192.168.1.13 


MySQL рд╕рд░реНрд╡рд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди

MySQL рд╕рд░реНрд╡рд░ рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдпрд╣ vm04 рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░реЗрдЧрд╛ред рдЖрдк рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЬреЛрдбрд╝ рдпрд╛ рд╕рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, MySQL рдореИрдиреБрдЕрд▓ рджреЗрдЦреЗрдВ)ред

 ######################################################################## # !!! #     #   mysqld  my.cnf     # ..        #     ######################################################################## #       # symbolic-links symbolic-links=0 ##  ,    , YMMV skip-name-resolve skip-slave-start skip-external-locking #                 # #  ,       # sort_buffer_size           = 2M read_buffer_size           = 2M binlog_cache_size          = 1M wait_timeout               = 200 interactive_timeout        = 300 max_allowed_packet         = 12M thread_stack               = 128K table_cache                = 1024 myisam_sort_buffer_size    = 1M tmp_table_size             = 12M max_heap_table_size        = 12M #  # log_queries_not_using_indexes  = 1 slow_query_log                 = 1 slow_query_log_file            = /var/lib/mysql/slowquery.log #     # tmp_table_size                 = 12M max_heap_table_size            = 12M query_cache_type               = 1 query_cache_limit              = 2M query_cache_size               = 32M max_connections                = 500 thread_cache_size              = 50 open_files_limit               = 65535 table_definition_cache         = 4096 table_open_cache               = 1024 # MyISAM # key_buffer_size                = 32M myisam_recover                 = FORCE,BACKUP #  # max_allowed_packet = 16M max_connect_errors = 1000000 #   # log_bin                        = /var/lib/mysql/mysql-bin expire_logs_days               = 14 sync_binlog                    = 1 # InnoDB # innodb_flush_method            = O_DIRECT innodb_log_files_in_group      = 2 innodb_log_file_size           = 256M innodb_flush_log_at_trx_commit = 1 innodb_file_per_table          = 1 innodb_buffer_pool_size        = 10G 

рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдВрдж рдХрд░реЗрдВред MySQL рд╕рд░реНрд╡рд░ рдХреЛ рд░рд┐рдмреВрдЯ / рд░рд┐рд╕реНрдЯрд╛рд░реНрдЯ рдХрд░реЗрдВ:

 # chkconfig mysqld on # service mysqld start # service mysqld reload # service mysqld restart 

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ mysqld TCP рдкреЛрд░реНрдЯ # 3306 рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ :

 # netstat -tulpn | grep :3306 


MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди


рдлрд╝рд╛рдпрд░рд╡реЙрд▓ / sysconfig / iptables рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

 # vi /etc/sysconfig/iptables 

рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ vm01 рдФрд░ vm02 рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ:

 ##   mysqld  web- Apache  Lighttpd # -A INPUT -m state --state NEW -s 192.168.1.10 -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -m state --state NEW -s 192.168.1.11 -m tcp -p tcp --dport 3306 -j ACCEPT 

рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдмрдВрдж рдХрд░реЗрдВред Iptables рд╕реЗрд╡рд╛ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ :

 # service iptables restart 


рдмрдврд╝рддреА рдбрд┐рд╕реНрдХ рдХреЛрдЯрд╛ рдФрд░ рдкреЛрд░реНрдЯ рд╕рд░реНрд╡рд░ рдкреЛрд░реНрдЯ рд░реЗрдВрдЬ


рд▓реЛрдб рдХрд┐рдП рдЧрдП DBMS рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ ( FD рд╕реАрдорд╛ ) рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдПрдБ рдФрд░ рдЙрдкрд▓рдмреНрдз IP рдкреЛрд░реНрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдПрдБ

 #        fs.file-max = 50000 #     net.ipv4. ip_local_port_range = 2000 65000 

рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд sysctl рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ:

 # sysctl -p 


MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддреЗ рдмрдирд╛рдирд╛


рдпрд╣ рдЕрдиреБрднрд╛рдЧ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдВрдЧреЗ :


рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:

 # /usr/bin/mysql -u root -h localhost -p 

рдлреВ рдирд╛рдордХ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, mysql рдЯрд░реНрдорд┐рдирд▓ рд▓рд╛рдЗрди рдореЗрдВ рдирд┐рдореНрди рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:

 mysql > CREATE DATABASE foo; 


рдЖрдкрдХреЛ рдЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдирд╛рдо рдкрдЯреНрдЯреА рдХреЗ рд╕рд╛рде MySQL рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЕрдзрд┐рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреЗ рддрд╣рдд Apache + php5 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдЧрд╛ред

 mysql > GRANT ALL ON foo.* TO bar@localhost IDENTIFIED BY 'mypassword'; mysql > GRANT ALL ON foo.* TO bar@192.168.1.10 IDENTIFIED BY 'mypassword'; mysql > GRANT ALL ON foo.* TO bar@192.168.1.11 IDENTIFIED BY 'mypassword'; 

MySQL рдХрдВрд╕реЛрд▓ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:

 mysql > quit 

рдЕрдм рдЖрдк SQL рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЗрдмрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк MySQL рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЗрд▓ рдпрд╛ рдкрд░реНрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдХрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

"рджреВрд░рд╕реНрде" vm01 рдФрд░ vm02 рд╕реЗ рдЕрдкрдиреЗ рдмреНрд░рд╛рдВрдб рдХреЗ рдирдП рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ


рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ vm01 рдпрд╛ рд╣реЛрд╕реНрдЯ vm03 рд╕реЗ ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ Apache / Lighttpd рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:

 $ mysql -u bar -h 192.168.1.13 -p'mypassword' foo 

рдпрд╛ рддреЛ:

 $ mysql -u bar -h vm04 -p'mypassword' foo 


phpMyAdmin


PhpMyAdmin MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред рдЗрд╕ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдПрдХрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ MySQL рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред PhpMyAdmin рдкреВрд░реЗ MySQL рд╕рд░реНрд╡рд░ рдФрд░ рдПрдХ рдПрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рджреЛрдиреЛрдВ рдХреЛ рдкреНрд░рд╢рд╛рд╕рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдкреИрдХреЗрдЬ рд╕рднреА рдирдП MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИред



рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдВрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рджреМрд░рд╛рди рдЪрд┐рдкрдХрд╛рдП рдЬрд╛рдПрдВрдЧреЗ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдЗрд╕ рдЕрдиреБрд╡рд╛рдж рдХреЛ рдЖрдЧреЗ рд╕реБрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/In148077/


All Articles