рд░рд┐рдореЛрдЯ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджреЗрдгреЗ

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

рдорд▓рд╛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧрд╕рд╛рдареА рдкреИрд╕реЗ рджреЗрдгреЗ рдЖрд╡рдбрдд рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рдореА рдорд╛рдЭреНрдпрд╛ рдХрд╛рдорд╛рд╡рд░ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд╛рдкрд░рд▓реЗ, рдПрдХ рдкрд╛рдВрдврд░рд╛ IP рдЖрд╣реЗ. рдпреЗрдереЗ рддреНрдпрд╛рдЪреА рд░рдЪрдирд╛ рдЖрд╣реЗ:

рд░рд┐рдореЛрдЯ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджреЗрдгреЗ

рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдЕрдиреЗрдХ рд╕рдВрдЧрдгрдХрд╛рдВрдЪрд╛ рдкреНрд░рд╡реЗрд╢ рдЖрд╣реЗ, рдЕрдЧрджреА рддрдВрддреЛрддрдВрдд 192.168.1.2 (рдЙрд░реНрдл 192.168.0.2) рдпреЗрдереЗ рд▓рд┐рдирдХреНрд╕ рдЖрдгрд┐ рд╡рд┐рдВрдбреЛрдЬрд╕рд╣ 192.168.0.3 рдЖрд╣реЗ. рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдорд╛рдЭреНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╕рд╛рдареА, рдореА mysql рдирд┐рд╡рдбрд▓реЗ рдЖрдгрд┐ Linux рд╡рд░ рдХрд╛рдп рдЖрд╣реЗ рддреЗ рдкрд╛рд╣рд┐рд▓реЗ. рддреЗ рддреЗрдереЗ рдЖрдзреАрдЪ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ, рдкрд░рдВрддреБ рдХреЛрдгрд╛рд▓рд╛рд╣реА рд╕рдВрдХреЗрддрд╢рдмреНрдж рдорд╛рд╣рд┐рдд рдирд╛рд╣реА рдЖрдгрд┐ рдЬреНрдпрд╛рдВрдирд╛ рдорд╛рд╣рд┐рдд рд╣реЛрддреЗ рддреЗ рд╡рд┐рд╕рд░рд▓реЗ (рдЬреНрдпрд╛рдВрдиреА рдорд╛рдЭреНрдпрд╛ рдЖрдзреА рдХрд╛рдо рдХреЗрд▓реЗ). рдХреЛрдгрд╛рд▓рд╛рд╣реА рдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА рд╣реЗ рдХрд│рд▓реНрдпрд╛рдирдВрддрд░ рдореА рддреЗ рд╣рдЯрд╡рд▓реЗ рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛. рдкреБрд░реЗрд╢реА рдореЗрдорд░реА рдирд╡реНрд╣рддреА рдЖрдгрд┐ рд╣реА рддреНрд░реБрдЯреА рджреВрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдорд▓рд╛ рдореЙрдирд┐рдЯрд░ рдЖрдгрд┐ рдХреАрдмреЛрд░реНрдбрд▓рд╛ рдорд╛рдЙрд╕рд╕рд╣ рдХрдиреЗрдХреНрдЯ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓, рдореА рд╣рд╛ рд╡реНрдпрд╡рд╕рд╛рдп рд╕реЛрдбрдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рд╢рд┐рд╡рд╛рдп, рд╡рд┐рдВрдбреЛрдЬ рдорд╢реАрди рдЦреВрдк рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рд╕рд░реНрд╡ рдХрд╛рд╣реА, рдореА рд╕реНрд╡рддрдГ рдорд╛рдЭреНрдпрд╛ рд▓реЕрдкрдЯреЙрдкрд╡рд░ рдШрд░реА рдЖрд╣реЗ. рддрддреНрд╡рддрдГ, рдореА рд╕реНрдерд╛рдкрдиреЗрдЪреЗ рд╕реНрд╡рддрдГрдЪ рд╡рд░реНрдгрди рдХрд░рдгрд╛рд░ рдирд╛рд╣реА, рддреНрдпрд╛рдмрджреНрджрд▓ рдмрд░реЗрдЪ рдореЕрдиреНрдпреБрдЕрд▓ рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЖрд╣реЗрдд. рд╡рд┐рдВрдбреЛрдЬ рдорд╢реАрдирд╡рд░ mysql рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реНрдпрд╛рд╡рд░, рдореА рд▓реЕрдкрдЯреЙрдкрд╡рд░реВрди рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рдирд╡рд░ рдЯреЗрдмрд▓реНрд╕рдЪрд╛ рдмреЕрдХрдЕрдк рдШреЗрдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛.

рд╣реЗ рдЕрд╕реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ (рдорд╛рдЭреНрдпрд╛ рдмрд╛рдмрддреАрдд):

mysqldump -uroot -p your_base > dump_file.sql

рдкреБрдвреЗ, рдЖрдореНрд╣реА рдирд╡реАрди рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдпрд╛рд░ рдХрд░рддреЛ рдЖрдгрд┐ "рдирд╡реАрди" рдорд╢реАрдирд╡рд░ рдмреЕрдХрдЕрдк рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рдХрд░рддреЛ.

mysql -h localhost -u root -p

create database your_base;
use your_base;

mysql -uroot -p your_base < dump_file.sql

show tables;


рдмреЕрдХрдЕрдк рдЕрд╕рд▓реЗрд▓реА рдлрд╛рдИрд▓ рдирд╡реАрди рдорд╢реАрдирд╡рд░ рдареЗрд╡рд▓реА рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЖрдгрд┐ рдпреБрдЯрд┐рд▓рд┐рдЯреАрд╕рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рдирд╕рд▓реНрдпрд╛рд╕, рддреНрдпрд╛рдЪрд╛ рдкреВрд░реНрдг рдорд╛рд░реНрдЧ рд╢рдХреНрдп рдЖрд╣реЗ. (рдореА рдиреБрдХрддреЗрдЪ рдЧреАрдердмрд╡рд░ рдмреЕрдХрдЕрдк рдЕрдкрд▓реЛрдб рдХреЗрд▓реЗ рдЖрдгрд┐ рдирд╡реАрди рдорд╢реАрдирд╡рд░ рдХреНрд▓реЛрди рдХреЗрд▓реЗ). рдЯреЗрдмрд▓ рд╕реНрд╡рддрдГ рдХрд╕реЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рддреЗ рдореА рдЬреЛрдбрддреЛ, рдкрд░рдВрддреБ рдореА рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕реЗрд╡реНрд╣ рдХреЗрд▓реЗ рдирд╛рд╣реАрдд рдЖрдгрд┐ рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА 2-3 рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рд╕рд╛рдареА рджреЗрдЦреАрд▓ рд╣реЗ рдХрдареАрдг рдирд╛рд╣реА.

рдореА рд╕рд░реНрд╡ рд╕рд╛рд░рдгреНрдпрд╛ рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рдХреЗрд▓реНрдпрд╛рд╡рд░, рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рджреВрд░рд╕реНрде рдкреНрд░рд╡реЗрд╢ рдЙрдкрд▓рдмреНрдз рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ. рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдЕрд╢рд╛ рдЖрджреЗрд╢рд╛рдВрдореБрд│реЗ рдпрд╢ рдорд┐рд│рд╛рд▓реЗ рдирд╛рд╣реА (рдлрдХреНрдд рдирд┐рд╡рдб рд╡рд╛рдЪрдгреНрдпрд╛рдЪрд╛ рдЕрдзрд┐рдХрд╛рд░ рджрд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ)

create user 'client'@'%' IDENTIFIED by 'client';
grant select on your_base . * to 'client'@'%';
flush privileges;

рдЕрдзрд┐рдХ рддрдВрддреЛрддрдВрдд, рдореА рдлрдХреНрдд рдХрдорд╛рдВрдбрджреНрд╡рд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░реВ рд╢рдХрддреЛ,

mysql -h localhost -u client -pclient

рдЖрдгрд┐ рд╣реЗ рдХрд░реВ рд╢рдХрд▓реЗ рдирд╛рд╣реА

mysql -h 192.168.0.3 -u client -pclient

рд╣реЗ рдорд▓рд╛ рдкрдЯрд▓реЗ рдирд╛рд╣реА, рдореА рджреЗрдЦреАрд▓ рдпрд╛ рдкрддреНрддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд░реВрдЯ рдореНрд╣рдгреВрди рдХрдиреЗрдХреНрдЯ рдХрд░реВ рд╢рдХрд▓реЛ рдирд╛рд╣реА.

mysql workbench рдкреНрд░реЛрдЧреНрд░рд╛рдордиреЗ рдорджрдд рдХреЗрд▓реА, рддреЗрдереЗ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ рддреБрдореНрд╣реА рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯрд▓рд╛% рд╡рд░ рдмрджрд▓рддрд╛ рдЖрдгрд┐ рддреЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ, рдЬрд░реА рдХреНрд▓рд╛рдпрдВрдЯрдиреЗ рдорджрдд рдХреЗрд▓реА рдирд╛рд╣реА. рдЖрддрд╛ рддреБрдореНрд╣реА рдХрдиреНрд╕реЛрд▓рд╡рд░реВрди рдХрд┐рдВрд╡рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкрддреНрддреНрдпрд╛рд╡рд░реАрд▓ рдХреЛрдбрд╡рд░реВрди рдбреЗрдЯрд╛рдмреЗрд╕рд╢реА рдХрдиреЗрдХреНрдЯ рд╣реЛрдК рд╢рдХрддрд╛.

рд░рд┐рдореЛрдЯ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджреЗрдгреЗ

рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЛрдо рдХрд┐рдВрд╡рд╛ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╡рдгреЗ рдЖрдгрд┐ Windows рдлрд╛рдпрд░рд╡реЙрд▓ рдмрдВрдж рдХрд░рдгреЗ рджреЗрдЦреАрд▓ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЕрдиреНрдпрдерд╛ рддреБрдореНрд╣реА рд╣реЗ рдорд╢реАрди рдкрд┐рдВрдЧ рдХрд░реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА (рдЕрд╕реЗ рдирд╛рд╣реА рдХреА рддреЗ рдбреЗрдЯрд╛рдмреЗрд╕рд╢реА рдХрдиреЗрдХреНрдЯ рд╣реЛрдИрд▓).

рдЕрд░реНрдзреЗ рдХрд╛рдо рдкреВрд░реНрдг рдЭрд╛рд▓реЗ рдЖрд╣реЗ, рдордЧ рдорд▓рд╛ рдШрд░реВрди рдбреЗрдЯрд╛рдмреЗрд╕рд╢реА рдХрдиреЗрдХреНрдЯ рд╣реЛрдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЖрдкрдг рдиреЗрдЯрд╡рд░реНрдХ рдЖрдХреГрддреАрд╡рд░реВрди рдкрд╛рд╣реВ рд╢рдХрддрд╛, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ 192.168.0.3 рддреЗ 192.168.1.1 (рд░рд╛рдЙрдЯрд░) рдкрд░реНрдпрдВрдд рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рдЬрд╛рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ, рдЪрд▓рд╛ рдЙрд▓рдЯ рджрд┐рд╢реЗрдиреЗ рдЬрд╛рдКрдпрд╛. рдЪрд▓рд╛ 192.168.1.1 рддреЗ 192.168.1.2 рдЕрд╕рд╛ рдорд╛рд░реНрдЧ рд╕реЗрдЯ рдХрд░реВ рдпрд╛:

рд░рд┐рдореЛрдЯ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджреЗрдгреЗ

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдЪрд┐рддреНрд░ рджрд┐рд╕рдд рдирд╛рд╣реА - рдореА рдорд╛рдЭреНрдпрд╛ рд╣рд╛рддрд╛рдВрдиреА рд▓рд┐рд╣реАрди:

route add 192.168.0.0 mask 255.255.255.0 gateway 192.168.1.2

рд╣реЗ рдлрдХреНрдд рдПрдХрд╛ рд╕рдмрдиреЗрдЯрдордзреНрдпреЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдореНрд╣рдгрдЬреЗрдЪ рддреБрдореНрд╣реА 192.168.0.2 рдХрд┐рдВрд╡рд╛ 192.168.0.3 рдкрддреНрддреНрдпрд╛рд╡рд░ рддреНрд╡рд░рд┐рдд рдлреЙрд░рд╡рд░реНрдб рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА.

рд╣реЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рд░рд╛рдЙрдЯрд░рд▓рд╛ рдХрд│реЗрд▓ рдХреА 192.168.0.0/24 рд╕рдмрдиреЗрдЯ рдХреБрдареЗ рдЖрд╣реЗ (рдиреЗрдЯрд╡рд░реНрдХрдЪреА рдореВрд▓рднреВрдд рдорд╛рд╣рд┐рддреА рдЬрд╛рдгреВрди рдШреНрдпрд╛ рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗ).

рдЖрддрд╛ рдЖрдореНрд╣реА рдкреЛрд░реНрдЯ рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧ 3306 (рдорд╛рдпрдПрд╕рдХреНрдпреВрдПрд▓ рдкреЛрд░реНрдЯ рдмрд╛рдп рдбреАрдлреЙрд▓реНрдЯ (рдЬрд░ рддреБрдореНрд╣реА рдЗрдиреНрд╕реНрдЯреЙрд▓реЗрд╢рди рджрд░рдореНрдпрд╛рди рдмрджрд▓рд▓рд╛ рдирд╕реЗрд▓ рддрд░)) 192.168.1.2 рдкрддреНрддреНрдпрд╛рд╡рд░ рдЬреЛрдбрддреЛ.

рд░рд┐рдореЛрдЯ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджреЗрдгреЗ

рдЖрддрд╛ рд╕рд░реНрд╡рд╛рдд рдХрдареАрдг рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рд▓рд┐рдирдХреНрд╕ рдорд╢реАрдирд╡рд░ рдлреЙрд░рд╡рд░реНрдб рдХрд░рдгреЗ (рддреНрдпрд╛рдд рджреЛрди рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдбреНрд╕ рдЖрд╣реЗрдд 192.168.1.2 (enp3s1 рдЗрдВрдЯрд░рдлреЗрд╕) рдЖрдгрд┐ 192.168.0.2 (enp3s0 рдЗрдВрдЯрд░рдлреЗрд╕) рдЬреЗрдгреЗрдХрд░реВрди рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдбреНрд╕ рддреНрдпрд╛рдВрдирд╛ 192.168.1.2 рд╡рд░реВрди рдХрд╛рдп рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рд╛рдпрдЪреЗ рд╣реЗ рд╕рдордЬреЗрд▓. 192.168.0.2 рд╡рд░, рдЖрдгрд┐ рдирдВрддрд░ MySql рд╕рд╣ рдЖрдордЪреНрдпрд╛ рд╡рд┐рдВрдбреЛрдЬ рдорд╢реАрдирд╡рд░.

sudo iptables -A FORWARD -i enp3s1 -o enp3s0 -p tcp --syn --dport 3306 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -i enp3s1 -o enp3s0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD -i enp3s0 -o enp3s1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -A PREROUTING -i enp3s1 -p tcp --dport 3306 -j DNAT --to-destination 192.168.0.3
sudo iptables -t nat -A POSTROUTING -o enp3s0 -p tcp --dport 3306 -d 192.168.0.3 -j SNAT --to-source 192.168.1.2
╨╕ ╨┐╨╛╤Б╨╗╨╡╨┤╨╜╤П╤П ╤Б╤В╤А╨╛╤З╨║╨░ ╤Б╨╛╤Е╤А╨░╨╜╤П╨╡╤В ╨▓╨▓╨╡╨┤╨╡╨╜╨╜╤Л╨╡ ╨║╨╛╨╝╨░╨╜╨┤╤Л ╤З╤В╨╛╨▒╤Л ╨╛╨╜╨╕ ╨┐╤А╨╕ ╨┐╨╡╤А╨╡╨╖╨░╨┐╤Г╤Б╨║╨╡ ╨╛╤Б╨╕ ╨╜╨╡ ╤Б╤В╨╡╤А╨╗╨╕╤Б╤М
sudo service iptables-persistent save

рддреНрдпрд╛. 1рд▓реА рдУрд│ рдореНрд╣рдгрдЬреЗ рдЖрдореНрд╣реА рдкрд╣рд┐рд▓реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░рддреЛ, 2рд░рд╛ рдЖрдгрд┐ 3рд░рд╛ рдореНрд╣рдгрдЬреЗ рджреЛрдиреНрд╣реА рджрд┐рд╢рд╛рдВрдирд╛ рдкреЕрдХреЗрдЯ рдкрд╛рдард╡рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ, 4рдереА рдЖрдгрд┐ 5рд╡реА рдореНрд╣рдгрдЬреЗ рдЧрдВрддрд╡реНрдпрд╕реНрдерд╛рди рдЖрдгрд┐ рд╕реНрддреНрд░реЛрдд рдкрддреНрддрд╛ рдмрджрд▓рдгреЗ. рдЖрдгрд┐ voila, рддреБрдореНрд╣реА mysql рджреНрд╡рд╛рд░реЗ рдШрд░реВрди рдХрдиреЗрдХреНрдЯ рдХрд░реВ рд╢рдХрддрд╛. рдЖрдгрд┐ рд╢реЗрд╡рдЯреА, рдорд╛рдЭрд╛ C++ рдХреЛрдб рдЬреЛ рд╣реЗ рдХрд░рддреЛ:

//DataBaseConnection.cpp
#include "DataBaseConnection.h"

DataBaseConnection::DataBaseConnection()
{
}
void DataBaseConnection::Connect()
{
	// ╨Я╨╛╨╗╤Г╤З╨░╨╡╨╝ ╨┤╨╡╤Б╨║╤А╨╕╨┐╤В╨╛╤А ╤Б╨╛╨╡╨┤╨╕╨╜╨╡╨╜╨╕╤П
	conn = mysql_init(NULL);
	if (conn == NULL)
	{
		// ╨Х╤Б╨╗╨╕ ╨┤╨╡╤Б╨║╤А╨╕╨┐╤В╨╛╤А ╨╜╨╡ ╨┐╨╛╨╗╤Г╤З╨╡╨╜ тАУ ╨▓╤Л╨▓╨╛╨┤╨╕╨╝ ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡ ╨╛╨▒ ╨╛╤И╨╕╨▒╨║╨╡
		fprintf(stderr, "Error: can'tcreate MySQL-descriptorn");
		//exit(1); //╨Х╤Б╨╗╨╕ ╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╨╡╤В╤Б╤П ╨╛╨║╨╛╨╜╨╜╨╛╨╡ ╨┐╤А╨╕╨╗╨╛╨╢╨╡╨╜╨╕╨╡
	}
	// ╨Я╨╛╨┤╨║╨╗╤О╤З╨░╨╡╨╝╤Б╤П ╨║ ╤Б╨╡╤А╨▓╨╡╤А╤Г
	if (!mysql_real_connect(conn, "192.168.0.3", "root", "password", "your_base", NULL, NULL, 0))
	{
		// ╨Х╤Б╨╗╨╕ ╨╜╨╡╤В ╨▓╨╛╨╖╨╝╨╛╨╢╨╜╨╛╤Б╤В╨╕ ╤Г╤Б╤В╨░╨╜╨╛╨▓╨╕╤В╤М ╤Б╨╛╨╡╨┤╨╕╨╜╨╡╨╜╨╕╨╡ ╤Б ╤Б╨╡╤А╨▓╨╡╤А╨╛╨╝ 
		// ╨▒╨░╨╖╤Л ╨┤╨░╨╜╨╜╤Л╤Е ╨▓╤Л╨▓╨╛╨┤╨╕╨╝ ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡ ╨╛╨▒ ╨╛╤И╨╕╨▒╨║╨╡
		fprintf(stderr, "Error: can't connect to database: %sn", mysql_error(conn));
	}
	else
	{
		// ╨Х╤Б╨╗╨╕ ╤Б╨╛╨╡╨┤╨╕╨╜╨╡╨╜╨╕╨╡ ╤Г╤Б╨┐╨╡╤И╨╜╨╛ ╤Г╤Б╤В╨░╨╜╨╛╨▓╨╗╨╡╨╜╨╛ ╨▓╤Л╨▓╨╛╨┤╨╕╨╝ ╤Д╤А╨░╨╖╤Г - "Success!"
		fprintf(stdout, "Success!n");
	}
}
std::vector<std::string> DataBaseConnection::Query()
{
	vectordrum.clear();
	std::string query = "SELECT * FROM drum where id=0";
	const char * q = query.c_str();
	qstate = mysql_query(conn, q);
	if (!qstate)
	{
		res = mysql_store_result(conn);
		while (row = mysql_fetch_row(res))
		{
			//printf("ID: %s,Position: %s, Image: %sn", row[0], row[1], row[2]);
			vectordrum.push_back(row[2]);
		}
	}
	else
	{
		std::cout << "Query failed:" << mysql_error(conn) << std::endl;
	}
	return vectordrum;
}
void DataBaseConnection::Close()
{
	// ╨Ч╨░╨║╤А╤Л╨▓╨░╨╡╨╝ ╤Б╨╛╨╡╨┤╨╕╨╜╨╡╨╜╨╕╨╡ ╤Б ╤Б╨╡╤А╨▓╨╡╤А╨╛╨╝ ╨▒╨░╨╖╤Л ╨┤╨░╨╜╨╜╤Л╤Е
	mysql_close(conn);
}
DataBaseConnection::~DataBaseConnection()
{
	vectordrum.clear();
}
//DataBaseConnection.h
#pragma once
#include <iostream>
#include <mysql.h>
#include <vector>
#pragma comment(lib,"mysqlcppconn.lib")
#pragma comment(lib,"libmysql.lib")
class DataBaseConnection
{
public:
	DataBaseConnection();
	void Connect();
	std::vector<std::string> Query();
	void Close();
	~DataBaseConnection();
	MYSQL *conn;
	MYSQL_ROW row;
	MYSQL_RES *res;
	int qstate;
	std::vector<std::string> vectordrum;
};

рдЖрддрд╛ рддреБрдореНрд╣реА рд╣рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реБрд░рдХреНрд╖рд┐рддрдкрдгреЗ рдХреЛрдгрд╛рд▓рд╛рд╣реА рдлреЗрдХреВрди рджреЗрдК рд╢рдХрддрд╛ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рддреЛ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдХрд╛рдо рдХрд░реЗрд▓.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛