Cisco VSOM 7.14 'ਤੇ MySQL ਸ਼ੁਰੂਆਤੀ ਮੁੱਦਿਆਂ ਦਾ ਨਿਪਟਾਰਾ ਕਰਨਾ
ਸਾਕਟ ਦੁਆਰਾ MySQL ਸਰਵਰ ਨਾਲ ਜੁੜਨ ਵਿੱਚ ਅਚਾਨਕ ਅਸਫਲਤਾ ਦਾ ਅਨੁਭਵ ਕਰਨਾ ਬਹੁਤ ਜ਼ਿਆਦਾ ਵਿਘਨਕਾਰੀ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ Cisco VSOM ਵਰਗੇ ਨਾਜ਼ੁਕ ਬੁਨਿਆਦੀ ਢਾਂਚੇ 'ਤੇ। ਇਸ ਮੁੱਦੇ ਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ERROR 2002 (HY000) ਵਜੋਂ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਅਕਸਰ ਉਦੋਂ ਵਾਪਰਦਾ ਹੈ ਜਦੋਂ MySQL ਚਾਲੂ ਹੋਣ ਵਿੱਚ ਅਸਫਲ ਹੁੰਦਾ ਹੈ, ਮੁੱਖ ਸੇਵਾਵਾਂ ਨੂੰ ਚੱਲਣ ਤੋਂ ਰੋਕਦਾ ਹੈ।
ਗਲਤੀ ਖਾਸ ਤੌਰ 'ਤੇ MySQL ਸਾਕਟ ਫਾਈਲ ਨਾਲ ਇੱਕ ਸਮੱਸਿਆ ਦਾ ਹਵਾਲਾ ਦਿੰਦੀ ਹੈ, ਜਿਸ ਨੂੰ ਸਰਵਰ ਸੰਚਾਰ ਕਰਨ ਲਈ ਵਰਤਦਾ ਹੈ। ਜਦੋਂ MySQL ਸੇਵਾ ਆਪਣੇ ਆਪ ਬੂਟ ਹੋਣ 'ਤੇ ਸ਼ੁਰੂ ਨਹੀਂ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਇਹ ਸੇਵਾ ਬੰਦ ਹੋ ਸਕਦੀ ਹੈ। ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਬਹਾਲ ਕਰਨ ਲਈ ਅਸਫਲਤਾ ਦੇ ਮੂਲ ਕਾਰਨ ਦੀ ਪਛਾਣ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ।
ਇਹ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ ਕਿ ਪ੍ਰਸ਼ਨ ਵਿੱਚ ਸਰਵਰ ਸਾਲਾਂ ਤੋਂ ਬਿਨਾਂ ਕਿਸੇ ਮੁੱਦੇ ਦੇ ਚੱਲ ਰਿਹਾ ਹੈ, ਅਤੇ ਮੈਨੂਅਲ ਜਾਂ ਲਾਜ਼ੀਕਲ ਰੀਬੂਟ ਨੇ ਸਮੱਸਿਆ ਦਾ ਹੱਲ ਨਹੀਂ ਕੀਤਾ ਹੈ, ਸਿਸਟਮ ਲੌਗਸ ਅਤੇ ਸੰਰਚਨਾਵਾਂ ਦੀ ਹੋਰ ਜਾਂਚ ਦੀ ਲੋੜ ਹੈ। ਇਸ ਸੈੱਟਅੱਪ ਨੂੰ ਪਾਵਰ ਦੇਣ ਵਾਲੇ Red Hat Linux ਸੰਸਕਰਣ ਵਿੱਚ ਸੰਰਚਨਾ ਜਾਂ ਫਾਈਲ ਕਰੱਪਸ਼ਨ ਸਮੱਸਿਆ ਹੋ ਸਕਦੀ ਹੈ।
ਇਹ ਗਾਈਡ ਇਸ ਅਸਫਲਤਾ ਦੇ ਪਿੱਛੇ ਸੰਭਾਵੀ ਕਾਰਨਾਂ ਦੀ ਰੂਪਰੇਖਾ ਦੇਵੇਗੀ ਅਤੇ ਰਿਕਵਰੀ ਵਿਕਲਪਾਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰੇਗੀ, ਇੱਥੋਂ ਤੱਕ ਕਿ ਉਹਨਾਂ ਲਈ ਵੀ ਜੋ Linux ਕਮਾਂਡਾਂ ਤੋਂ ਅਣਜਾਣ ਹਨ। ਭਾਵੇਂ ਤੁਸੀਂ MySQL ਸਟਾਰਟਅਪ ਮੁੱਦਿਆਂ ਨਾਲ ਨਜਿੱਠ ਰਹੇ ਹੋ ਜਾਂ ਸਿਸਟਮ ਦੇ ਕਿਸੇ ਡੂੰਘੇ ਨੁਕਸ ਨਾਲ, ਸਹੀ ਪ੍ਰਕਿਰਿਆ ਦਾ ਪਾਲਣ ਕਰਨ ਨਾਲ ਤੁਹਾਡੀਆਂ ਸੇਵਾਵਾਂ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਔਨਲਾਈਨ ਵਾਪਸ ਲਿਆਇਆ ਜਾ ਸਕਦਾ ਹੈ।
| ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
|---|---|
| systemctl | Red Hat-ਅਧਾਰਿਤ Linux ਡਿਸਟਰੀਬਿਊਸ਼ਨਾਂ ਉੱਤੇ ਸਿਸਟਮ ਸੇਵਾਵਾਂ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ, ਇਹ MySQL ਦੀ ਸਥਿਤੀ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ। ਉਦਾਹਰਨ: systemctl restart mysqld MySQL ਸੇਵਾ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਦਾ ਹੈ। |
| subprocess.run | ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਦੇ ਅੰਦਰ ਸ਼ੈੱਲ ਕਮਾਂਡਾਂ ਨੂੰ ਚਲਾਉਣ ਲਈ ਇੱਕ ਪਾਈਥਨ ਵਿਧੀ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਇਸਦੀ ਵਰਤੋਂ ਇੱਥੇ ਸਿਸਟਮ ਕਮਾਂਡਾਂ ਨੂੰ ਚਲਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿਵੇਂ ਕਿ MySQL ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨਾ ਜਾਂ ਇਸਦੀ ਸਥਿਤੀ ਦੀ ਜਾਂਚ ਕਰਨਾ। ਉਦਾਹਰਨ: subprocess.run(["systemctl", "is-active", "mysqld"], capture_output=True)। |
| shell_exec | ਇੱਕ PHP ਫੰਕਸ਼ਨ ਜੋ ਇੱਕ PHP ਸਕ੍ਰਿਪਟ ਦੇ ਅੰਦਰ ਸਿਸਟਮ ਕਮਾਂਡਾਂ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ। ਉਦਾਹਰਨ ਵਿੱਚ, ਇਹ MySQL ਸਥਿਤੀ ਦੀ ਜਾਂਚ ਕਰਨ ਜਾਂ ਸੇਵਾ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨ ਲਈ systemctl ਚਲਾਉਂਦਾ ਹੈ। ਉਦਾਹਰਨ: shell_exec('systemctl restart mysqld')। |
| rm | ਲੀਨਕਸ ਕਮਾਂਡ ਫਾਈਲਾਂ ਨੂੰ ਹਟਾਉਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ ਸੇਵਾ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਮੱਸਿਆ ਵਾਲੀ MySQL ਸਾਕਟ ਫਾਈਲ ਨੂੰ ਮਿਟਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਉਦਾਹਰਨ: rm -f /usr/BWhttpd/vsom_be/db/mysql/data/mysql.sock। |
| if [ -S file ] | ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਇੱਕ ਸ਼ੈੱਲ ਸ਼ਰਤ ਹੈ ਕਿ ਕੀ ਇੱਕ ਨਿਰਧਾਰਤ ਫਾਈਲ ਮੌਜੂਦ ਹੈ ਅਤੇ ਇੱਕ ਸਾਕਟ ਹੈ। ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਕਿ ਕੀ MySQL ਸਾਕਟ ਫਾਈਲ ਮੌਜੂਦ ਹੈ। ਉਦਾਹਰਨ: ਜੇਕਰ [ -S /usr/BWhttpd/vsom_be/db/mysql/data/mysql.sock ]। |
| os.path.exists | ਇੱਕ ਪਾਈਥਨ ਫੰਕਸ਼ਨ ਜਾਂਚ ਕਰਨ ਲਈ ਕਿ ਕੀ ਕੋਈ ਫਾਈਲ ਜਾਂ ਡਾਇਰੈਕਟਰੀ ਮੌਜੂਦ ਹੈ। ਇਹ ਇੱਥੇ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਕੀ MySQL ਸਾਕਟ ਫਾਈਲ ਗੁੰਮ ਹੈ। ਉਦਾਹਰਨ: ਜੇਕਰ os.path.exists(socket_file) ਨਹੀਂ ਹੈ। |
| unlink | ਇੱਕ PHP ਫੰਕਸ਼ਨ ਜੋ ਇੱਕ ਫਾਈਲ ਨੂੰ ਮਿਟਾ ਦਿੰਦਾ ਹੈ। ਸਕ੍ਰਿਪਟ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ MySQL ਸਾਕਟ ਫਾਈਲ ਨੂੰ ਹਟਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜੇਕਰ ਇਹ ਮੌਜੂਦ ਹੈ. ਉਦਾਹਰਨ: ਅਨਲਿੰਕ($socket_file)। |
| file_exists | ਇੱਕ PHP ਫੰਕਸ਼ਨ ਜੋ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਕੋਈ ਫਾਈਲ ਜਾਂ ਡਾਇਰੈਕਟਰੀ ਮੌਜੂਦ ਹੈ। ਇਹ ਇੱਥੇ MySQL ਸਾਕਟ ਫਾਈਲ ਦੀ ਮੌਜੂਦਗੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਵਰਤਿਆ ਗਿਆ ਹੈ. ਉਦਾਹਰਨ: ਜੇਕਰ (!file_exists($socket_file))। |
| date | ਇੱਕ ਕਮਾਂਡ ਜਾਂ ਫੰਕਸ਼ਨ ਜੋ ਮੌਜੂਦਾ ਮਿਤੀ ਅਤੇ ਸਮਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ, ਇਹ ਰਿਕਵਰੀ ਓਪਰੇਸ਼ਨਾਂ ਲਈ ਟਾਈਮਸਟੈਂਪਾਂ ਨੂੰ ਲੌਗ ਕਰਦਾ ਹੈ। ਉਦਾਹਰਨ: PHP ਵਿੱਚ date('Y-m-d H:i:s') ਜਾਂ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟਿੰਗ ਵਿੱਚ $(date)। |
ਕਸਟਮ ਸਕ੍ਰਿਪਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ Cisco VSOM 'ਤੇ MySQL ਸਾਕਟ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨਾ
ਉੱਪਰ ਵਿਕਸਤ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਇੱਕ ਨਾਜ਼ੁਕ ਮੁੱਦੇ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿੱਥੇ MySQL ਸਰਵਰ ਇੱਕ ਗੁੰਮ ਜਾਂ ਖਰਾਬ ਸਾਕਟ ਫਾਈਲ ਦੇ ਕਾਰਨ ਇੱਕ Cisco VSOM ਸਿਸਟਮ ਤੇ ਸ਼ੁਰੂ ਹੋਣ ਵਿੱਚ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ। ਗਲਤੀ, ਆਮ ਤੌਰ 'ਤੇ ਵਜੋਂ ਪਛਾਣੀ ਜਾਂਦੀ ਹੈ , ਦਾ ਮਤਲਬ ਹੈ ਕਿ MySQL ਨਿਰਧਾਰਿਤ ਸਾਕਟ ਦੁਆਰਾ ਸੰਚਾਰ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ ਹੈ, ਸਰਵਰ ਨੂੰ ਗੈਰ-ਕਾਰਜਸ਼ੀਲ ਰੈਂਡਰ ਕਰਦਾ ਹੈ। ਇਹ ਸਕ੍ਰਿਪਟਾਂ MySQL ਸੇਵਾ ਨੂੰ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਖੋਜਣ, ਮੁੜ ਚਾਲੂ ਕਰਨ ਅਤੇ ਮੁਰੰਮਤ ਕਰਨ ਲਈ ਕਈ ਤਰ੍ਹਾਂ ਦੀਆਂ ਵਿਧੀਆਂ-ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟਿੰਗ, ਪਾਈਥਨ, ਅਤੇ PHP ਨੂੰ ਵਰਤਦੀਆਂ ਹਨ, ਪ੍ਰਸ਼ਾਸਕਾਂ ਦੀ ਮਦਦ ਕਰਦੀਆਂ ਹਨ ਜੋ ਸ਼ਾਇਦ ਲੀਨਕਸ ਕਮਾਂਡਾਂ ਤੋਂ ਜਾਣੂ ਨਹੀਂ ਹਨ।
ਪਹਿਲੀ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਵਿੱਚ, ਦੀ ਵਰਤੋਂ ਕਮਾਂਡ Red Hat-ਅਧਾਰਿਤ ਸਿਸਟਮਾਂ ਵਿੱਚ ਸੇਵਾਵਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਅਤੇ ਨਿਯੰਤਰਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। ਸਕ੍ਰਿਪਟ ਇਹ ਜਾਂਚ ਕੇ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਕਿ ਕੀ MySQL ਸੇਵਾ ਚੱਲ ਰਹੀ ਹੈ। ਜੇਕਰ ਨਹੀਂ, ਤਾਂ ਇਹ ਇਸਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ ਅਤੇ ਸਾਕਟ ਫਾਈਲ ਦੀ ਸਥਿਤੀ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਸਾਕਟ ਫਾਈਲ ਗੁੰਮ ਹੈ, ਤਾਂ ਸਕ੍ਰਿਪਟ ਇਸਨੂੰ ਮਿਟਾ ਦਿੰਦੀ ਹੈ ਅਤੇ ਇਸਨੂੰ ਦੁਬਾਰਾ ਬਣਾ ਦਿੰਦੀ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ MySQL ਕੋਲ ਬੰਨ੍ਹਣ ਲਈ ਇੱਕ ਵੈਧ ਸਾਕਟ ਹੈ। ਸਾਕਟ ਫਾਈਲ ਟਿਕਾਣਾ ਅਤੇ ਸਿਸਟਮ ਲੌਗ ਇਹ ਪਤਾ ਲਗਾਉਣ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹਨ ਕਿ ਕੀ ਰੀਸਟਾਰਟ ਸਫਲ ਸੀ। ਇਹ ਪਹੁੰਚ ਉਹਨਾਂ ਪ੍ਰਸ਼ਾਸਕਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਸੀਮਿਤ ਜਾਣਕਾਰੀ ਹੈ ਕਿ ਲੀਨਕਸ ਵਿੱਚ ਸੇਵਾਵਾਂ ਨੂੰ ਹੱਥੀਂ ਕਿਵੇਂ ਪ੍ਰਬੰਧਿਤ ਕਰਨਾ ਹੈ।
ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਇੱਕ ਸਮਾਨ ਤਰਕ ਦੀ ਪਾਲਣਾ ਕਰਦੀ ਹੈ ਪਰ ਪਾਈਥਨ ਦਾ ਲਾਭ ਉਠਾਉਂਦੀ ਹੈ ਸਿਸਟਮ ਕਮਾਂਡਾਂ ਨੂੰ ਚਲਾਉਣ ਲਈ ਮੋਡੀਊਲ। ਪਾਈਥਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਾ ਮੁੱਖ ਫਾਇਦਾ ਗਲਤੀ ਲੌਗਸ ਨੂੰ ਸੰਭਾਲਣ, ਸਕ੍ਰਿਪਟ ਪੜ੍ਹਨਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ, ਅਤੇ ਹੋਰ ਪਾਈਥਨ-ਆਧਾਰਿਤ ਸੇਵਾਵਾਂ ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਵਿੱਚ ਲਚਕਤਾ ਹੈ। ਸਕ੍ਰਿਪਟ MySQL ਸੇਵਾ ਜਾਂਚਾਂ ਨੂੰ ਚਲਾਉਂਦੀ ਹੈ ਅਤੇ ਹਰ ਐਕਸ਼ਨ ਨੂੰ ਲੌਗ ਕਰਕੇ, ਰੀਸਟਾਰਟ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ। ਇਹ ਇਹ ਵੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਸਾਕਟ ਫਾਈਲ ਮੌਜੂਦ ਹੈ ਅਤੇ, ਜੇ ਇਹ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਦੁਬਾਰਾ ਬਣਾਉਂਦਾ ਹੈ। ਪਾਈਥਨ ਦਾ ਫੰਕਸ਼ਨ ਫਾਈਲ ਦੀ ਮੌਜੂਦਗੀ ਦਾ ਪਤਾ ਲਗਾਉਣਾ ਸੌਖਾ ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਲੌਗਿੰਗ ਵਿਧੀ ਵਧੇਰੇ ਵਿਸਤ੍ਰਿਤ ਫੀਡਬੈਕ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ, ਜੋ MySQL ਸ਼ੁਰੂਆਤੀ ਮੁੱਦੇ ਦੇ ਮੂਲ ਕਾਰਨ ਦਾ ਨਿਦਾਨ ਕਰਨ ਵਿੱਚ ਉਪਯੋਗੀ ਹੈ।
PHP ਸਕ੍ਰਿਪਟ ਇੱਕ ਹੋਰ ਵੈੱਬ-ਕੇਂਦ੍ਰਿਤ ਪਹੁੰਚ ਅਪਣਾਉਂਦੀ ਹੈ, ਇਸ ਨੂੰ ਉਹਨਾਂ ਦ੍ਰਿਸ਼ਾਂ ਲਈ ਢੁਕਵੀਂ ਬਣਾਉਂਦੀ ਹੈ ਜਿੱਥੇ MySQL ਸੇਵਾ ਨੂੰ ਵੈੱਬ-ਅਧਾਰਿਤ ਕੰਟਰੋਲ ਪੈਨਲ ਦੁਆਰਾ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ , ਸਕ੍ਰਿਪਟ ਲੌਗ ਫਾਈਲ ਵਿੱਚ ਇਵੈਂਟਾਂ ਨੂੰ ਲੌਗ ਕਰਨ ਦੌਰਾਨ MySQL ਸੇਵਾ ਦੀ ਜਾਂਚ ਅਤੇ ਮੁੜ ਚਾਲੂ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਕਮਾਂਡਾਂ ਨੂੰ ਚਲਾਉਂਦੀ ਹੈ। ਦ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਸਾਕਟ ਫਾਈਲ ਨੂੰ ਮਿਟਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜੇਕਰ ਇਹ ਮੌਜੂਦ ਹੈ, ਇਸ ਤੋਂ ਬਾਅਦ ਮੁੜ ਚਾਲੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। PHP ਦੇ ਫਾਈਲ ਹੇਰਾਫੇਰੀ ਫੰਕਸ਼ਨ, ਜਿਵੇਂ ਕਿ , ਸਾਕਟ ਦੀ ਉਪਲਬਧਤਾ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਕੁਸ਼ਲ ਹਨ, ਇਸ ਨੂੰ ਹਲਕੇ ਭਾਰ ਵਾਲੇ ਵਾਤਾਵਰਣਾਂ ਲਈ ਇੱਕ ਵਧੀਆ ਵਿਕਲਪ ਬਣਾਉਂਦੇ ਹੋਏ ਜਿੱਥੇ ਤੁਸੀਂ ਇੱਕ ਵੈਬ ਇੰਟਰਫੇਸ ਦੁਆਰਾ ਸਰਵਰ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।
ਸਾਰੀਆਂ ਤਿੰਨ ਸਕ੍ਰਿਪਟਾਂ ਦਾ ਉਦੇਸ਼ ਇੱਕੋ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨਾ ਹੈ, ਪਰ ਹਰ ਇੱਕ ਵੱਖਰੇ ਵਾਤਾਵਰਣ ਲਈ ਅਨੁਕੂਲਿਤ ਹੈ - ਭਾਵੇਂ ਤੁਸੀਂ ਸਿੱਧੇ ਕਮਾਂਡ ਲਾਈਨ 'ਤੇ ਕੰਮ ਕਰ ਰਹੇ ਹੋ, ਆਟੋਮੇਸ਼ਨ ਲਈ ਪਾਈਥਨ-ਅਧਾਰਿਤ ਹੱਲ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, ਜਾਂ PHP-ਅਧਾਰਿਤ ਵੈੱਬ ਇੰਟਰਫੇਸ ਤੋਂ ਸਰਵਰ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰ ਰਹੇ ਹੋ। . ਇਹ ਹੱਲ ਮਾਡਯੂਲਰ ਹਨ, ਮਤਲਬ ਕਿ ਉਹਨਾਂ ਨੂੰ ਭਵਿੱਖ ਵਿੱਚ ਵਰਤੋਂ ਲਈ ਆਸਾਨੀ ਨਾਲ ਸੋਧਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਹਰੇਕ ਸਕ੍ਰਿਪਟ ਹਰ ਕਾਰਵਾਈ ਨੂੰ ਲੌਗ ਕਰਦੀ ਹੈ, ਜੋ ਇਹ ਪਤਾ ਲਗਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ ਕਿ ਕਿਹੜੇ ਕਦਮ ਚੁੱਕੇ ਗਏ ਹਨ ਅਤੇ ਕਿੱਥੇ ਸੰਭਾਵੀ ਮੁੱਦੇ ਅਜੇ ਵੀ ਮੌਜੂਦ ਹੋ ਸਕਦੇ ਹਨ, ਅੰਤ ਵਿੱਚ Cisco VSOM ਸਰਵਰ 'ਤੇ MySQL ਸੇਵਾ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਅਤੇ ਭਰੋਸੇਯੋਗਤਾ ਦੋਵਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਂਦਾ ਹੈ।
Cisco VSOM ਵਿੱਚ MySQL ਸੇਵਾ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨਾ: ਸ਼ੈੱਲ ਕਮਾਂਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਕ੍ਰਿਪਟ ਪਹੁੰਚ
MySQL ਸੇਵਾ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ, ਸਾਕਟ ਸਮੱਸਿਆਵਾਂ ਦੀ ਜਾਂਚ, ਅਤੇ Cisco VSOM 7.14 (Red Hat) ਲਈ ਲੌਗਿੰਗ ਗਲਤੀਆਂ।
#!/bin/bash# This script checks if MySQL is running, attempts to restart it if not, and logs errorsSOCKET_FILE="/usr/BWhttpd/vsom_be/db/mysql/data/mysql.sock"LOG_FILE="/var/log/mysql_recovery.log"service_status=$(systemctl is-active mysqld)if [ "$service_status" != "active" ]; thenecho "$(date): MySQL service not running. Attempting to restart..." >> $LOG_FILEsystemctl restart mysqldif [ $? -ne 0 ]; thenecho "$(date): Failed to restart MySQL. Checking socket file..." >> $LOG_FILEif [ ! -S $SOCKET_FILE ]; thenecho "$(date): Socket file missing. Attempting to recreate..." >> $LOG_FILEsystemctl stop mysqldrm -f $SOCKET_FILEsystemctl start mysqldif [ $? -eq 0 ]; thenecho "$(date): MySQL service restarted successfully." >> $LOG_FILEelseecho "$(date): MySQL restart failed." >> $LOG_FILEfielseecho "$(date): Socket file exists but MySQL failed to start." >> $LOG_FILEfifielseecho "$(date): MySQL service is running normally." >> $LOG_FILEfi
MySQL ਸਾਕਟ ਮੁੱਦਿਆਂ ਨੂੰ ਖੋਜਣ ਅਤੇ ਸੰਭਾਲਣ ਲਈ ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ MySQL ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨਾ
ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਜੋ ਕਿ MySQL ਨੂੰ ਖੋਜਣ, ਮੁੜ ਚਾਲੂ ਕਰਨ, ਅਤੇ Cisco VSOM 'ਤੇ ਸਾਕਟ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਸਬਪ੍ਰੋਸੈਸ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ।
import osimport subprocessimport datetimelog_file = "/var/log/mysql_recovery_python.log"socket_file = "/usr/BWhttpd/vsom_be/db/mysql/data/mysql.sock"def log(message):with open(log_file, "a") as log_f:log_f.write(f"{datetime.datetime.now()}: {message}\n")def check_mysql_status():result = subprocess.run(["systemctl", "is-active", "mysqld"], capture_output=True, text=True)return result.stdout.strip() == "active"def restart_mysql():log("Attempting to restart MySQL service...")subprocess.run(["systemctl", "restart", "mysqld"])if check_mysql_status():log("MySQL service restarted successfully.")else:log("Failed to restart MySQL.")if not check_mysql_status():log("MySQL service not running. Checking socket...")if not os.path.exists(socket_file):log("Socket file missing. Recreating and restarting MySQL...")subprocess.run(["systemctl", "stop", "mysqld"])if os.path.exists(socket_file):os.remove(socket_file)restart_mysql()else:log("Socket file exists but MySQL is not running.")else:log("MySQL service is running normally.")
PHP ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ MySQL ਸੇਵਾ ਰਿਕਵਰੀ: ਆਟੋਮੇਟਿਡ ਡਾਇਗਨੌਸਟਿਕਸ
Red Hat-ਅਧਾਰਿਤ Cisco VSOM ਵਾਤਾਵਰਨ ਲਈ ਸ਼ੈੱਲ ਕਮਾਂਡਾਂ ਰਾਹੀਂ MySQL ਸੇਵਾ ਦਾ ਨਿਦਾਨ ਅਤੇ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਲਈ PHP ਸਕ੍ਰਿਪਟ।
//php$log_file = "/var/log/mysql_recovery_php.log";$socket_file = "/usr/BWhttpd/vsom_be/db/mysql/data/mysql.sock";function log_message($message) {file_put_contents($GLOBALS['log_file'], date('Y-m-d H:i:s') . ": " . $message . "\n", FILE_APPEND);}function check_mysql_status() {$status = shell_exec('systemctl is-active mysqld');return trim($status) === "active";}function restart_mysql() {log_message("Attempting to restart MySQL...");shell_exec('systemctl restart mysqld');if (check_mysql_status()) {log_message("MySQL restarted successfully.");} else {log_message("MySQL restart failed.");}}if (!check_mysql_status()) {log_message("MySQL service is not running. Checking socket...");if (!file_exists($socket_file)) {log_message("Socket file missing. Restarting MySQL...");shell_exec('systemctl stop mysqld');if (file_exists($socket_file)) {unlink($socket_file);}restart_mysql();} else {log_message("Socket file exists but MySQL is not running.");}} else {log_message("MySQL service is running normally.");}//
Cisco VSOM 'ਤੇ MySQL ਸ਼ੁਰੂਆਤੀ ਅਸਫਲਤਾਵਾਂ ਦੇ ਕਾਰਨਾਂ ਨੂੰ ਸਮਝਣਾ
ਦੇ ਮੁੱਖ ਕਾਰਨਾਂ ਵਿੱਚੋਂ ਇੱਕ ਸਰਵਰ Cisco VSOM ਤੇ ਚਾਲੂ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਹੋਣਾ MySQL ਸਾਕਟ ਫਾਈਲ ਦਾ ਭ੍ਰਿਸ਼ਟਾਚਾਰ ਜਾਂ ਮਿਟਾਉਣਾ ਹੈ। ਇਹ ਫਾਈਲ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਇਹ MySQL ਕਲਾਇੰਟ ਅਤੇ ਸਰਵਰ ਵਿਚਕਾਰ ਸੰਚਾਰ ਪੁਲ ਵਜੋਂ ਕੰਮ ਕਰਦੀ ਹੈ। ਜਦੋਂ ਸਾਕਟ ਫਾਈਲ ਗੁੰਮ ਜਾਂ ਖਰਾਬ ਹੁੰਦੀ ਹੈ, ਤਾਂ MySQL ਕੰਮ ਨਹੀਂ ਕਰੇਗਾ, ਜੋ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਨਿਰਭਰ ਸੇਵਾਵਾਂ ਜਿਵੇਂ ਕਿ Cisco VSOM ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦਾ ਹੈ। ਇਹ ਪਛਾਣ ਕਰਨਾ ਕਿ ਕੀ ਸਾਕਟ ਫਾਈਲ ਗੁੰਮ ਹੈ ਅਤੇ ਫਿਰ ਇਸਨੂੰ ਦੁਬਾਰਾ ਬਣਾਉਣਾ ਸੇਵਾ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਪਹਿਲੇ ਕਦਮਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ।
ਵਿਚਾਰ ਕਰਨ ਲਈ ਇਕ ਹੋਰ ਪਹਿਲੂ ਹੈ MySQL ਦੀਆਂ ਡਾਇਰੈਕਟਰੀਆਂ ਦੀ ਫਾਈਲ ਅਨੁਮਤੀਆਂ ਅਤੇ ਮਲਕੀਅਤ. ਜੇਕਰ ਦ ਗਲਤ ਢੰਗ ਨਾਲ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜਾਂ ਕਿਸੇ ਹੋਰ ਪ੍ਰਕਿਰਿਆ ਦੁਆਰਾ ਬਦਲਿਆ ਗਿਆ ਹੈ, MySQL ਆਪਣੀ ਸਾਕਟ ਫਾਈਲ ਜਾਂ ਲੌਗਸ ਵਿੱਚ ਲਿਖਣ ਵਿੱਚ ਅਸਮਰੱਥ ਹੋ ਸਕਦਾ ਹੈ। ਇਹ ਮੁੱਦਾ MySQL ਨੂੰ ਬੂਟ ਦੌਰਾਨ ਸਹੀ ਢੰਗ ਨਾਲ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਰੋਕ ਸਕਦਾ ਹੈ। ਇਹਨਾਂ ਮਾਮਲਿਆਂ ਵਿੱਚ, MySQL ਦੀਆਂ ਨਾਜ਼ੁਕ ਡਾਇਰੈਕਟਰੀਆਂ, ਜਿਵੇਂ `/var/lib/mysql/`, ਦੀ ਮਲਕੀਅਤ ਅਤੇ ਅਨੁਮਤੀਆਂ ਦੀ ਜਾਂਚ ਕਰਨਾ ਅਤੇ ਵਿਵਸਥਿਤ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਪ੍ਰਸ਼ਾਸਕਾਂ ਨੂੰ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ MySQL ਕੋਲ ਇਸਦੇ ਕਾਰਜ ਕਰਨ ਲਈ ਸਹੀ ਪਹੁੰਚ ਅਧਿਕਾਰ ਹਨ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਸਿਸਟਮ-ਪੱਧਰ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ, ਜਿਵੇਂ ਕਿ ਗਲਤ ਬੰਦ ਜਾਂ ਕਰੈਸ਼, ਲੰਮੀ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਛੱਡ ਸਕਦੇ ਹਨ ਜੋ ਕੁਝ MySQL ਫਾਈਲਾਂ ਨੂੰ ਲਾਕ ਕਰ ਦਿੰਦੇ ਹਨ। ਇਹ ਲਾਕ ਕੀਤੀਆਂ ਫਾਈਲਾਂ ਸੇਵਾ ਨੂੰ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਰੋਕ ਸਕਦੀਆਂ ਹਨ। ਜਦੋਂ ਸਰਵਰ ਨੂੰ ਰੀਬੂਟ ਕਰਨ ਨਾਲ ਸਮੱਸਿਆ ਹੱਲ ਨਹੀਂ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਸੰਬੰਧਿਤ MySQL PID ਅਤੇ ਲਾਕ ਫਾਈਲਾਂ ਨੂੰ ਸਾਫ਼ ਕਰਨਾ ਇੱਕ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਰਿਕਵਰੀ ਵਿਧੀ ਹੋ ਸਕਦੀ ਹੈ। ਨਾਲ ਹੀ, `/var/log/mysql/` ਵਿੱਚ ਲੌਗ ਦੀ ਨਿਗਰਾਨੀ ਕਰਨਾ Cisco VSOM ਸਿਸਟਮਾਂ 'ਤੇ MySQL ਨਾਲ ਸਬੰਧਤ ਕਿਸੇ ਵੀ ਸੰਰਚਨਾ ਜਾਂ ਸ਼ੁਰੂਆਤੀ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਟਰੇਸ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ।
- ERROR 2002 (HY000) ਦਾ ਕੀ ਅਰਥ ਹੈ?
- ਇਹ ਗਲਤੀ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ MySQL ਸਰਵਰ ਸਾਕਟ ਫਾਈਲ ਰਾਹੀਂ ਕੁਨੈਕਸ਼ਨ ਸਥਾਪਤ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ। ਇਸਦਾ ਆਮ ਤੌਰ 'ਤੇ ਮਤਲਬ ਹੁੰਦਾ ਹੈ ਕਿ ਸਾਕਟ ਗੁੰਮ ਹੈ ਜਾਂ ਖਰਾਬ ਹੈ।
- ਮੈਂ ਕਿਵੇਂ ਜਾਂਚ ਕਰਾਂਗਾ ਕਿ MySQL ਚੱਲ ਰਿਹਾ ਹੈ?
- ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ MySQL ਸੇਵਾ ਦੀ ਮੌਜੂਦਾ ਸਥਿਤੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ।
- ਮੈਂ MySQL ਸਾਕਟ ਫਾਈਲ ਨੂੰ ਕਿਵੇਂ ਦੁਬਾਰਾ ਬਣਾਵਾਂ?
- ਪਹਿਲਾਂ, ਨਾਲ MySQL ਸੇਵਾ ਨੂੰ ਰੋਕੋ . ਫਿਰ, ਜੇ ਇਹ ਮੌਜੂਦ ਹੈ ਤਾਂ ਸਾਕਟ ਫਾਈਲ ਨੂੰ ਮਿਟਾਓ ਅਤੇ ਸੇਵਾ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰੋ .
- ਜੇਕਰ MySQL ਸਰਵਰ ਰੀਬੂਟ ਤੋਂ ਬਾਅਦ ਸ਼ੁਰੂ ਨਹੀਂ ਹੁੰਦਾ ਤਾਂ ਮੈਂ ਕੀ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਕਿਸੇ ਵੀ ਸੁਰਾਗ ਲਈ MySQL ਲੌਗਸ ਦੀ ਜਾਂਚ ਕਰੋ, ਅਤੇ ਯਕੀਨੀ ਬਣਾਓ ਕਿ MySQL ਡਾਇਰੈਕਟਰੀਆਂ 'ਤੇ ਅਨੁਮਤੀਆਂ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਰਚਿਤ ਹਨ। ਨਾਲ ਸੇਵਾ ਮੁੜ ਸ਼ੁਰੂ ਕਰੋ .
- ਮੈਂ MySQL ਵਿੱਚ ਗਲਤ ਫਾਈਲ ਅਨੁਮਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਠੀਕ ਕਰਾਂ?
- ਵਰਤੋ MySQL ਡੇਟਾ ਡਾਇਰੈਕਟਰੀ ਦੀ ਮਲਕੀਅਤ ਨੂੰ ਰੀਸੈਟ ਕਰਨ ਲਈ। ਫਿਰ, ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਮਤੀਆਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ .
Cisco VSOM 'ਤੇ MySQL ਕੁਨੈਕਸ਼ਨ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਸਿਸਟਮ-ਪੱਧਰ ਦੇ ਕਾਰਕਾਂ ਅਤੇ MySQL ਦੀਆਂ ਅੰਦਰੂਨੀ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਸਮਝਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਕਸਟਮਾਈਜ਼ਡ ਸਕ੍ਰਿਪਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਉਪਭੋਗਤਾ ਸਾਕਟ ਫਾਈਲ ਅਤੇ MySQL ਦੇ ਸ਼ੁਰੂਆਤੀ ਕ੍ਰਮ ਨਾਲ ਸਬੰਧਤ ਸਮੱਸਿਆਵਾਂ ਦਾ ਜਲਦੀ ਨਿਦਾਨ ਅਤੇ ਮੁਰੰਮਤ ਕਰ ਸਕਦੇ ਹਨ।
ਅਜਿਹੇ ਮਾਮਲਿਆਂ ਵਿੱਚ ਜਿੱਥੇ ਮੈਨੂਅਲ ਰੀਬੂਟ ਕਰਨ ਨਾਲ ਸਮੱਸਿਆ ਦਾ ਹੱਲ ਨਹੀਂ ਹੁੰਦਾ, ਸੇਵਾਵਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ, ਫਾਈਲ ਅਨੁਮਤੀਆਂ ਦੀ ਜਾਂਚ ਕਰਨ, ਅਤੇ ਗੁੰਮ ਹੋਈਆਂ ਸਾਕਟ ਫਾਈਲਾਂ ਨੂੰ ਮੁੜ ਬਣਾਉਣ ਲਈ ਰਿਕਵਰੀ ਸਕ੍ਰਿਪਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਇੱਕ ਪ੍ਰਭਾਵਸ਼ਾਲੀ, ਹੱਥ-ਨਾਲ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਹ ਵਿਧੀਆਂ ਮਹੱਤਵਪੂਰਨ ਸੇਵਾਵਾਂ ਨੂੰ ਚਾਲੂ ਰੱਖਣ ਅਤੇ ਤੁਹਾਡੇ Cisco VSOM ਵਾਤਾਵਰਨ ਲਈ ਡਾਊਨਟਾਈਮ ਨੂੰ ਘੱਟ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀਆਂ ਹਨ।
- MySQL ਕੁਨੈਕਸ਼ਨ ਗਲਤੀਆਂ ਦੇ ਨਿਪਟਾਰੇ ਬਾਰੇ ਵਿਆਪਕ ਜਾਣਕਾਰੀ ਲਈ, ਅਧਿਕਾਰਤ MySQL ਦਸਤਾਵੇਜ਼ਾਂ 'ਤੇ ਜਾਓ: MySQL ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼ .
- ਵਰਤਣ ਲਈ ਵਿਸਤ੍ਰਿਤ ਨਿਰਦੇਸ਼ MySQL ਸੇਵਾਵਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਕਮਾਂਡਾਂ ਇੱਥੇ ਲੱਭੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ: Red Hat Systemctl ਗਾਈਡ .
- MySQL ਵਿੱਚ ਸਾਕਟ ਫਾਈਲ ਮੁੱਦਿਆਂ ਦੇ ਨਿਦਾਨ ਬਾਰੇ ਹੋਰ ਮਾਰਗਦਰਸ਼ਨ ਲਈ, ਇਸ ਸਰੋਤ ਨੂੰ ਵੇਖੋ: ਸਟੈਕ ਓਵਰਫਲੋ: MySQL ਸਾਕਟ ਗਲਤੀਆਂ .