เดฑเดฟเดฎเต‹เดŸเตเดŸเต เด•เดฃเด•เตเดทเดจเดพเดฏเดฟ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต

เด’เดฐเต เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด•เดฃเด•เตเดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เต‡เดฃเตเดŸ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเตเดฃเตเดŸเต†เดจเตเดจ เดตเดธเตเดคเตเดคเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฎเตเด•เตเด•เต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚. เด•เตˆเด•เดณเตเดŸเต‡เดฏเตเด‚ เด•เดดเดฟเดตเตเด•เดณเตเดŸเต‡เดฏเตเด‚ เด…เดญเดพเดตเด‚ เดจเดฟเดฎเดฟเดคเตเดคเด‚ เดฌเดพเด•เตเด•เต†เตปเดกเต เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด…เดงเดฟเด•เด‚ เด•เดŸเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเดจเตเด‚ เดซเตเดฐเดฃเตเดŸเต†เตปเดกเดฟเตฝ เดถเตเดฐเดฆเตเดง เด•เต‡เดจเตเดฆเตเดฐเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเดฎเดพเดฃเต เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต. เดŽเดจเตเดฑเต† เดชเดฐเดฟเดนเดพเดฐเด‚ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดŽเดจเดฟเด•เตเด•เต เดชเดฑเดฏเดพเดจเดพเดตเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด…เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เดฟเดจเต เดชเดฃเด‚ เดจเตฝเด•เตเดจเตเดจเดคเต เดŽเดจเดฟเด•เตเด•เต เด‡เดทเตเดŸเดฎเดฒเตเดฒเดพเดคเตเดคเดคเดฟเดจเดพเตฝ, เดŽเดจเตเดฑเต† เดœเต‹เดฒเดฟเดธเตเดฅเดฒเดคเตเดคเต เดžเดพเตป เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เด…เดตเดฟเดŸเต† เด’เดฐเต เดตเต†เดณเตเดคเตเดค 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;


เดฌเดพเด•เตเด•เดชเตเดชเต เดซเดฏเตฝ เดชเตเดคเดฟเดฏ เดฎเต†เดทเต€เดจเดฟเตฝ เดธเตเดฅเดพเดชเดฟเด•เตเด•เดฃเด‚, เด’เดฐเตเดชเด•เตเดทเต‡, เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ เด‰เดณเตเดณ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฎเตเดดเตเดตเตป เดชเดพเดคเดฏเตเด‚. (เดžเดพเตป เด‡เดชเตเดชเต‹เตพ GitHub-เดฒเต‡เด•เตเด•เต เดฌเดพเด•เตเด•เดชเตเดชเต เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด’เดฐเต เดชเตเดคเดฟเดฏ เดฎเต†เดทเต€เดจเดฟเดฒเต‡เด•เตเด•เต เด•เตเดฒเต‹เตบ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต). เดชเดŸเตเดŸเดฟเด•เด•เตพ เดŽเด™เตเด™เดจเต† เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเตเดตเต†เดจเตเดจเต เดžเดพเตป เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเด‚, เดชเด•เตเดทเต‡ เดžเดพเตป เดธเตเด•เตเดฐเต€เตปเดทเต‹เดŸเตเดŸเตเด•เตพ เดธเด‚เดฐเด•เตเดทเดฟเดšเตเดšเดฟเดฒเตเดฒ, 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 เดตเตผเด•เตเด•เต เดฌเต†เดžเตเดšเต เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เดธเดนเดพเดฏเดฟเดšเตเดšเต; เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ, เดฒเต‹เด•เตเด•เตฝ เดนเต‹เดธเตเดฑเตเดฑเต % เด†เดฏเดฟ เดฎเดพเดฑเตเดฑเตเด•, เด•เตเดฒเดฏเดจเตเดฑเต เดธเดนเดพเดฏเดฟเดšเตเดšเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเดฒเตเด‚ เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เตบเดธเต‹เดณเดฟเตฝ เดจเดฟเดจเตเดจเต‹ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด•เต‹เดกเดฟเตฝ เดจเดฟเดจเตเดจเต‹ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเดจเดพเด•เตเด‚.

เดฑเดฟเดฎเต‹เดŸเตเดŸเต เด•เดฃเด•เตเดทเดจเดพเดฏเดฟ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต

เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดนเต‹เด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฌเดฟเดธเดฟเดจเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด‰เดฃเตเดŸเดพเด•เตเด•เตเด•เดฏเตเด‚ เดตเดฟเตปเดกเต‹เดธเต เดซเดฏเตผเดตเดพเตพ เด“เดซเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚, เด…เดฒเตเดฒเดพเดคเตเดคเดชเด•เตเดทเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดˆ เดฎเต†เดทเต€เตป เดชเดฟเด‚เด—เต เดšเต†เดฏเตเดฏเดพเตป เดชเต‹เดฒเตเด‚ เด•เดดเดฟเดฏเดฟเดฒเตเดฒ (เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเด•).

เดชเด•เตเดคเดฟ เดœเต‹เดฒเดฟ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเดฏเดฟ, เด‡เดชเตเดชเต‹เตพ เดŽเดจเดฟเด•เตเด•เต เดตเต€เดŸเตเดŸเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฃเด‚.

เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดกเดฏเด—เตเดฐเดพเดฎเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเดจเดพเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเดจเตเดจเดคเดฟเดจเต เดจเดฟเด™เตเด™เตพ 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 (เดธเตเดฅเดฟเดฐ mysql เดชเต‹เตผเดŸเตเดŸเต (เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เดธเดฎเดฏเดคเตเดคเต เดจเดฟเด™เตเด™เตพ เด…เดคเต เดฎเดพเดฑเตเดฑเดฟเดฏเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ)) เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต.

เดฑเดฟเดฎเต‹เดŸเตเดŸเต เด•เดฃเด•เตเดทเดจเดพเดฏเดฟ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต

เด’เดฐเต เดฒเดฟเดจเด•เตเดธเต เดฎเต†เดทเต€เดจเดฟเตฝ เดซเต‹เตผเดตเต‡เดกเดฟเด‚เด—เต เดšเต†เดฏเตเดฏเตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดเดฑเตเดฑเดตเตเด‚ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเดณเตเดณ เด•เดพเดฐเตเดฏเด‚ (เด‡เดคเดฟเดจเต เดฐเดฃเตเดŸเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด•เดพเตผเดกเตเด•เตพ 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-เด‰เด‚ เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เดฒเด•เตเดทเตเดฏเดธเตเดฅเดพเดจเดตเตเด‚ เด‰เดฑเดตเดฟเดŸ เดตเดฟเดฒเดพเดธเด™เตเด™เดณเตเด‚ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต เดŽเดจเตเดจเดพเดฃเต. เด•เต‚เดŸเดพเดคเต† 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

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•