VPN ಮೂಲಕ MySQL localhost: ಅದು ಇನ್ನೂ ಸ್ಥಳೀಯ ಪ್ರಕ್ರಿಯೆಯನ್ನೇ ಸೂಚಿಸುತ್ತದೆ
ಅಪ್ಲಿಕೇಶನ್ localhost ಎಂದು ಕರೆಯುವ ಡೇಟಾಬೇಸ್ ಸರ್ವರ್ನಲ್ಲಿದೆ, ನಿಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಲ್ಲ. ಖಾಸಗಿ ಆಲಿಸುವವನು ಅಥವಾ SSH ಫಾರ್ವರ್ಡ್ ಬಳಸಿ, ನಂತರ ಕ್ಲೈಂಟ್ ಅನ್ನು TCP ಗೆ ಒತ್ತಾಯಿಸಿ.
ಕಚೇರಿ ಸರ್ವರ್ನಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್ localhost ನಲ್ಲಿ MySQL ಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ, ನೀವು ಆ ಹೋಸ್ಟ್ನಾಮ್ ಅನ್ನು ಡೆಸ್ಕ್ಟಾಪ್ ಕ್ಲೈಂಟ್ಗೆ ನಕಲಿಸುತ್ತೀರಿ, ಮತ್ತು ಸಂಪರ್ಕವು ವಿಫಲವಾಗುತ್ತದೆ ಅಥವಾ ಬೇರೆ ಡೇಟಾಬೇಸ್ ತೆರೆಯುತ್ತದೆ. VPN ಪದದ ಅರ್ಥವನ್ನು ಏನೂ ಬದಲಿಸಲಿಲ್ಲ: localhost ಇನ್ನೂ ಕ್ಲೈಂಟ್ ಚಲಾಯಿಸುವ ಯಂತ್ರವನ್ನೇ ಸೂಚಿಸುತ್ತದೆ. VPN ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಸರಿಸಿತು, ಇಂಟರ್ಫೇಸ್ಗಳನ್ನಲ್ಲ. ಯಾವುದೇ ಮಾರ್ಗವನ್ನು ಮುಟ್ಟುವ ಮೊದಲು ಲ್ಯಾಪ್ಟಾಪ್ ಯಾವ ಎಂಡ್ಪಾಯಿಂಟ್ ತಲುಪಬೇಕೆಂದು ನಿರ್ಧರಿಸಿ.
ಹಂತ 1: ಲ್ಯಾಪ್ಟಾಪ್ ಯಾವ ಎಂಡ್ಪಾಯಿಂಟ್ ತಲುಪಬೇಕೆಂದು ನಿರ್ಧರಿಸಿ
ಎರಡೂ ವಿನ್ಯಾಸಗಳು ಸರಿಯಾದವು ಮತ್ತು ಬೇರೆ ಬೇರೆ ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರಿಸುತ್ತವೆ. ನೇರ ಪ್ರವೇಶ ಎಂದರೆ ಡೇಟಾಬೇಸ್ ಟನೆಲ್ ತಲುಪುವ ಖಾಸಗಿ ವಿಳಾಸದಲ್ಲಿ ಆಲಿಸುತ್ತದೆ, ಮತ್ತು ಲ್ಯಾಪ್ಟಾಪ್ ಆ ವಿಳಾಸಕ್ಕೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ. ಫಾರ್ವರ್ಡ್ ಮಾಡಿದ ಪ್ರವೇಶ ಎಂದರೆ ಡೇಟಾಬೇಸ್ loopback ನಲ್ಲಿ ಉಳಿಯುತ್ತದೆ ಮತ್ತು SSH ಸೆಷನ್ ಪೋರ್ಟ್ ಅನ್ನು ನಿಮ್ಮ ಯಂತ್ರಕ್ಕೆ ಒಯ್ಯುತ್ತದೆ. ಒಂದನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಆಯ್ಕೆಮಾಡಿ, ಏಕೆಂದರೆ ಎರಡನ್ನೂ ಬೆರೆಸಿದರೆ ತಪ್ಪು ಕಾರಣಕ್ಕೆ ಕೆಲಸ ಮಾಡುವ ಸಂಪರ್ಕ ಉಂಟಾಗುತ್ತದೆ.
ನೇರ ಪ್ರವೇಶಕ್ಕಾಗಿ, ಡೇಟಾಬೇಸ್ ಹೋಸ್ಟ್ನ ಸ್ವಂತ ಖಾಸಗಿ ಹೆಸರು ಅಥವಾ ವಿಳಾಸ ಮತ್ತು ಅದರ ಪೋರ್ಟ್ ಅನ್ನು ಅದನ್ನು ನಿರ್ವಹಿಸುವವರಿಂದ ಪಡೆಯಿರಿ. VPN ಗೇಟ್ವೇಯ ವಿಳಾಸ ಡೇಟಾಬೇಸ್ನ ವಿಳಾಸವಲ್ಲ, ಅದೇ ಯಂತ್ರವಲ್ಲದಿದ್ದರೆ. ನಂತರ ಆಲಿಸುವವನು ನಿಜವಾಗಿಯೂ ಆ ಇಂಟರ್ಫೇಸ್ಗೆ ಬದ್ಧವಾಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿ, ಏಕೆಂದರೆ ಇಂಟರ್ಫೇಸ್ಗೆ ಇರುವ ಮಾರ್ಗ ಅದರ ಮೇಲೆ ಆಲಿಸುವವನನ್ನು ಸೃಷ್ಟಿಸುವುದಿಲ್ಲ.
ಹಂತ 2: ಆಲಿಸುವವನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿದರೆ ಮಾತ್ರ ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮಾಡಿ
ಡೇಟಾಬೇಸ್ loopback ನಲ್ಲಿ ಮಾತ್ರ ಉಳಿಯಬೇಕಾದರೆ, ಅದನ್ನು SSH ಮೂಲಕ ಫಾರ್ವರ್ಡ್ ಮಾಡಿ ಮತ್ತು ಸ್ಥಳೀಯ ತುದಿಯನ್ನೂ loopback ಗೆ ಬಂಧಿಸಿ. ಎಡಭಾಗದ ಬೈಂಡ್ ವಿಳಾಸ ನಿಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ನದು; ಬಲಭಾಗದ ಗುರಿಯನ್ನು SSH ಸರ್ವರ್ನ ಕಡೆಯಿಂದ ಅರ್ಥೈಸಲಾಗುತ್ತದೆ, OpenSSH ಉಲ್ಲೇಖ ವಿವರಿಸಿದಂತೆ. ಆ ಎರಡು ಪಾತ್ರಗಳನ್ನು ತಿರುಗಿಸುವುದೇ ಫಾರ್ವರ್ಡ್ ಕೆಲಸ ಮಾಡುತ್ತಿರುವಂತೆ ಕಂಡರೂ ಯಾವುದಕ್ಕೂ ಸಂಪರ್ಕಿಸದಿರುವ ಸಾಮಾನ್ಯ ಕಾರಣ.
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:13306:127.0.0.1:3306 [email protected]
ss -ltn 'sport = :13306'
SSH ಡೇಟಾಬೇಸ್ ಹೋಸ್ಟ್ ಬದಲು ಜಂಪ್ ಹೋಸ್ಟ್ಗೆ ಇಳಿದರೆ, ಬಲಭಾಗದ loopback ಜಂಪ್ ಹೋಸ್ಟ್ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಮತ್ತು ಗುರಿಯನ್ನು ಆ ಹೋಸ್ಟ್ ತಲುಪುವ ವಿಳಾಸಕ್ಕೆ ಬದಲಿಸಬೇಕು. ExitOnForwardFailure ಫಾರ್ವರ್ಡ್ ಸ್ಥಾಪಿಸುವಲ್ಲಿ ವಿಫಲತೆಯನ್ನು ಹಿಡಿಯುತ್ತದೆ, ಆದರೆ ಗುರಿಗೆ ನಂತರದ ಸಂಪರ್ಕಗಳು ಯಶಸ್ವಿಯಾಗುತ್ತವೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ. ಹೋಸ್ಟ್-ಕೀ ಪರಿಶೀಲನೆಯನ್ನು ಆನ್ ಆಗಿರಿಸಿ, ಮತ್ತು ಫಾರ್ವರ್ಡಿಂಗ್ ಪೋರ್ಟ್ ಅನ್ನು ಎಲ್ಲಾ ಇಂಟರ್ಫೇಸ್ಗಳಿಗೆ ಬಂಧಿಸಿ ನಿಮ್ಮ ಇಡೀ LAN ಗೆ ನೀಡಬೇಡಿ.
ಡೇಟಾಬೇಸ್ loopback ನಲ್ಲಿ ಮಾತ್ರ ಉಳಿಯಬೇಕು ಮತ್ತು ನೀವು SSH ಬಳಸಲಾಗದಿದ್ದರೆ ನಿಲ್ಲಿಸಿ. ಆಗ ನೇರ ಪ್ರವೇಶ ತಪ್ಪು ವಿನ್ಯಾಸ, ಒತ್ತಾಯಿಸಬೇಕಾದ ಸಂರಚನೆಯಲ್ಲ.
ಹಂತ 3: ಕ್ಲೈಂಟ್ ಅನ್ನು TCP ಗೆ ಒತ್ತಾಯಿಸಿ
Unix ನಲ್ಲಿ localhost ನೀಡಿದ MySQL ಕ್ಲೈಂಟ್ ಡಿಫಾಲ್ಟ್ ಆಗಿ Unix ಸಾಕೆಟ್ ಆಯ್ಕೆಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಕೇವಲ ಪೋರ್ಟ್ ಬದಲಿಸಿದರೆ ಅದು ನಿಮ್ಮ ಫಾರ್ವರ್ಡ್ಗೆ ಸಂಬಂಧವಿಲ್ಲದ ಸಾಕೆಟ್ ಹುಡುಕುತ್ತಾ ಉಳಿಯಬಹುದು. ಸ್ಪಷ್ಟ TCP ಪ್ರೋಟೋಕಾಲ್ ಮತ್ತು loopback ವಿಳಾಸ ಬಳಸಿ ಕ್ಲೈಂಟ್ ನಿಮ್ಮ ಫಾರ್ವರ್ಡಿಂಗ್ ಪೋರ್ಟ್ಗೆ ಸಂಪರ್ಕ ತೆರೆಯುವಂತೆ ಮಾಡಿ.
mysql --protocol=TCP --host=127.0.0.1 --port=13306 --user=DB_USER --password
ಮೌಲ್ಯವಿಲ್ಲದ ಪಾಸ್ವರ್ಡ್ ಆಯ್ಕೆ ರಹಸ್ಯವನ್ನು ಕಮಾಂಡ್ ಲೈನ್ಗೆ ಹಾಕುವ ಬದಲು ಕೇಳುತ್ತದೆ, ಮತ್ತು ಇದು ಉಳಿಸಿಕೊಳ್ಳಲು ಯೋಗ್ಯವಾದ ಅಭ್ಯಾಸ. ಇತರ ಪರಿಕರಗಳಿಗೆ ಅದೇ ವ್ಯತ್ಯಾಸಕ್ಕಾಗಿ ತಮ್ಮದೇ ಸ್ವಿಚ್ ಇದೆ, ಮತ್ತು ಕೆಲವು ಡ್ರೈವರ್ಗಳು localhost ಅನ್ನು ವಿಶೇಷವಾಗಿ ನೋಡುತ್ತವೆ. ಫ್ಲ್ಯಾಗ್ ಹರಿದು ಬಂತೆಂದು ಊಹಿಸುವ ಬದಲು ನಿಮ್ಮ ಕ್ಲೈಂಟ್ ಏನು ಮಾಡುತ್ತದೆ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಡೇಟಾಬೇಸ್ ಖಾತೆಗೆ ಸರ್ವರ್ ನೋಡುವ ಮೂಲಕ್ಕೆ ಹೊಂದುವ ಅನುಮತಿ ಬೇಕು, ಮತ್ತು ಅದು ನಿಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ ಅಲ್ಲ, ಫಾರ್ವರ್ಡಿಂಗ್ ಹೋಸ್ಟ್.
ಪರಿಕರವನ್ನು TCP ಗೆ ಒತ್ತಾಯಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ ನಿಲ್ಲಿಸಿ. ಆಗ ಬೇರೆ ಕ್ಲೈಂಟ್ ಬಳಸಿ, ಅಥವಾ ಖಾಸಗಿ ಆಲಿಸುವವನಿಗೆ ನೇರ ಪ್ರವೇಶ ಬಳಸಿ.
ಹಂತ 4: ನೀವು ನಿಜವಾಗಿ ಯಾವ ಎಂಡ್ಪಾಯಿಂಟ್ ತಲುಪಿದಿರಿ ಎಂದು ಸಾಬೀತುಪಡಿಸಿ
ಸಂಪರ್ಕವನ್ನು ಏನೆಂದು ಭಾವಿಸುತ್ತದೆ ಎಂದು ಸರ್ವರ್ನ್ನು ಕೇಳಿ. ಹೋಸ್ಟ್ನಾಮ್, ಪೋರ್ಟ್ ಮತ್ತು ಸಾಕೆಟ್ ಚರಗಳು ನೀವು TCP ಮೂಲಕ ಬಂದಿರಾ ಮತ್ತು ಯಾವ ಆಲಿಸುವವನು ಉತ್ತರಿಸಿದ ಎಂದು ಹೇಳುತ್ತವೆ, ಮತ್ತು ಸಂಪರ್ಕಗಳ ಪಟ್ಟಿ ಸರ್ವರ್ ದಾಖಲಿಸಿದ ಮೂಲ ವಿಳಾಸವನ್ನು ತೋರಿಸುತ್ತದೆ. ಆ ಸಾಕ್ಷ್ಯ ಇನ್ನೊಂದು ಮಾರ್ಗ ಬದಲಾವಣೆಗಿಂತ ಉಪಯುಕ್ತ.
mysql --protocol=TCP -h 127.0.0.1 -P 13306 -u DB_USER -p -e "SELECT @@hostname, @@port, @@socket"
ನೀವು ಯಾವ ಎಂಡ್ಪಾಯಿಂಟ್ ಪ್ರಯತ್ನಿಸಿದಿರಿ ಎಂದು ದಾಖಲಿಸಿ: ಸ್ಥಳೀಯ Unix ಸಾಕೆಟ್, ನಿಮ್ಮ ಫಾರ್ವರ್ಡಿಂಗ್ ಪೋರ್ಟ್ ಅಥವಾ ಖಾಸಗಿ ಆಲಿಸುವವನು. ಈ ಮೂರು ವಿಫಲತೆಗಳಿಗೆ ಬೇರೆ ಬೇರೆ ಪರಿಹಾರಗಳಿವೆ, ಮತ್ತು ಕ್ಲೈಂಟ್ ಇನ್ನೂ ತಪ್ಪು localhost ಜೊತೆ ಮಾತನಾಡುತ್ತಿರುವಾಗ VPN ಮಾರ್ಗ ಬದಲಿಸುವುದು ವ್ಯರ್ಥ ಶ್ರಮ. ಟಿಪ್ಪಣಿಗಳಲ್ಲಿ SSH ದೃಢೀಕರಣ ಮತ್ತು ಡೇಟಾಬೇಸ್ ದೃಢೀಕರಣವನ್ನೂ ಪ್ರತ್ಯೇಕವಾಗಿರಿಸಿ, ಏಕೆಂದರೆ ಡೆಸ್ಕ್ಟಾಪ್ ಕ್ಲೈಂಟ್ನಿಂದ ಒಂದರಲ್ಲಿ ವಿಫಲತೆ ಇನ್ನೊಂದರಲ್ಲಿ ವಿಫಲತೆಯಂತೆ ಕಾಣುತ್ತದೆ. ನಂತರ ಮುಗಿದ ಮೇಲೆ ಫಾರ್ವರ್ಡ್ ತೆಗೆದುಹಾಕಿ.
ಎಂಡ್ಪಾಯಿಂಟ್, ಕ್ಲೈಂಟ್ ಪ್ರೋಟೋಕಾಲ್, ಸರ್ವರ್ ನೋಡಿದ ಮೂಲ ವಿಳಾಸ ಮತ್ತು ಅದನ್ನು ಅನುಮತಿಸಿದ ಅನುಮತಿಯನ್ನು ಹೇಳಬಲ್ಲಾಗ ಪಟ್ಟಿ ಮುಗಿಯುತ್ತದೆ. ನಾಲ್ಕು ಸತ್ಯಗಳು, ಮತ್ತು ಮುಂದಿನ ಸಂಪರ್ಕ ಸಮಸ್ಯೆ ಮಧ್ಯಾಹ್ನದ ಬದಲು ನಿಮಿಷಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.