MySQL ಗೆ ಫಾರ್ವರ್ಡ್ ಮಾಡಿದ TCP ಪೋರ್ಟ್ ಬಳಸಲು ಮಾಡಿ
MySQL ಕ್ಲೈಂಟ್ SSH TCP ಫಾರ್ವರ್ಡ್ ಮೂಲಕ ಸಂಪರ್ಕಿಸಬೇಕಾದಾಗ ಸ್ಥಳೀಯ Unix ಸಾಕೆಟ್ ಆಯ್ಕೆ ಮಾಡುವುದನ್ನು ತಪ್ಪಿಸಿ.
SSH ಫಾರ್ವರ್ಡ್ ಸ್ಥಳೀಯ ಪೋರ್ಟ್ 13306 ನಲ್ಲಿ ಕೇಳುತ್ತದೆ, ಆದರೆ mysql ಇನ್ನೂ ಸ್ಥಳೀಯ ಡೇಟಾಬೇಸ್ಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ—ಅಥವಾ ಅದರ ಸ್ಥಳೀಯ ಸಾಕೆಟ್ ಇಲ್ಲ ಎಂದು ವರದಿ ಮಾಡುತ್ತದೆ. Unix ನಲ್ಲಿ localhost ನೀಡಿದ MySQL ಕ್ಲೈಂಟ್ TCP ಬದಲು Unix ಸಾಕೆಟ್ ಆಯ್ಕೆ ಮಾಡಬಹುದು. ಪೋರ್ಟ್ ನೀಡುವುದು ಆ ಆಯ್ಕೆಯನ್ನು ಕಡ್ಡಾಯವಾಗಿ ಬದಲಿಸುವುದಿಲ್ಲ.
ಇರುವ ಅನುಮೋದಿತ TCP ಫಾರ್ವರ್ಡ್ಗಾಗಿ ಪ್ರೋಟೋಕಾಲ್ ಸ್ಪಷ್ಟಪಡಿಸಿ:
mysql --protocol=TCP --host=127.0.0.1 --port=13306 \
--user=dbuser --password
ಬಳಕೆದಾರರ ಹೆಸರು ಕೇವಲ ಉದಾಹರಣೆ; ಪಾಸ್ವರ್ಡ್ ಆಯ್ಕೆ ಸಂವಾದಾತ್ಮಕ ನಮೂದನ್ನು ಕೇಳುತ್ತದೆ. ಆಜ್ಞೆಯು Unix ಸಾಕೆಟ್ ಬದಲು ಸ್ಥಳೀಯ TCP ಶ್ರೋತೃಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ.
ಎರಡು ಲಾಗಿನ್ಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ
ಸ್ಥಿರ SSH ಮಾರ್ಗವು ಈ ರೂಪವನ್ನು ಹೊಂದಬಹುದು:
ssh -N -L 127.0.0.1:13306:db.internal:3306 [email protected]
ಗೇಟ್ವೇಯ SSH ಸರ್ವರ್ db.internal:3306 ತಲುಪುತ್ತದೆ. ನಂತರ MySQL ಆ ಬೈಟ್ ಸ್ಟ್ರೀಮ್ ಮೂಲಕ ಡೇಟಾಬೇಸ್ ಖಾತೆಯನ್ನು ದೃಢೀಕರಿಸುತ್ತದೆ. ಸ್ವೀಕರಿಸಿದ SSH ಕೀ ಡೇಟಾಬೇಸ್ ಲಾಗಿನ್ ನೀಡುವುದಿಲ್ಲ, ಮತ್ತು ಡೇಟಾಬೇಸ್ನ ಮೂಲ ನಿರ್ಬಂಧಗಳು ಸಂಪರ್ಕವು ಮಾರ್ಗದ ಆ ಬದಿಯಿಂದ ಬರುತ್ತಿರುವುದನ್ನು ನೋಡುತ್ತವೆ.
ಇದು ಸ್ಥಿರ TCP ಅಡಾಪ್ಟರ್, mysql ಬಳಸುವ SOCKS ಸೆಟ್ಟಿಂಗ್ ಅಲ್ಲ. ಫಾರ್ವರ್ಡಿಂಗ್ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಒಂದು ಪೂರ್ವನಿರ್ಧರಿತ ಗುರಿ ಇರುವುದರಿಂದ ಅಪ್ಲಿಕೇಶನ್ಗೆ SOCKS ಮಾತುಕತೆ ಅಗತ್ಯವಿಲ್ಲ.
ಬಳಸುವ ಸ್ಥಳಗಳಲ್ಲಿ ಉದ್ದೇಶಿತ ಡೇಟಾಬೇಸ್ TLS ಗುರುತು ಮತ್ತು ಪ್ರಮಾಣಪತ್ರ ನೀತಿಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ. ಸಾಕೆಟ್ ಅನ್ನು loopback ಗೆ ಸಂಪರ್ಕಿಸುವುದು ಡೇಟಾಬೇಸ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಬೇರೆ ಸೇವಾ ಹೆಸರಿಗೆ ಮಾನ್ಯವಾಗಿಸುವುದಿಲ್ಲ. ಯಶಸ್ವಿ ಸ್ಥಳೀಯ TCP ಸಂಪರ್ಕವು ಸಾರಿಗೆ ಆಯ್ಕೆಯನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ, ನಂತರದ ಡೇಟಾಬೇಸ್ ದೃಢೀಕರಣ ಅಥವಾ TLS ಪರಿಶೀಲನೆಗಳನ್ನಲ್ಲ.