ແກ້ໄຂ: ERROR 2003 (HY000): Cant ເຊື່ອມຕໍ່ກັບ MySQL server ໃນ 127.0.0.1 (111)
ບົດແນະ ນຳ ນີ້ມີຈຸດປະສົງເພື່ອອະທິບາຍຂັ້ນຕອນທີ່ ຈຳ ເປັນ ສຳ ລັບການແກ້ໄຂ“ ERROR 2003 (HY000): ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບ MySQL server ໃນ ‘127.0.0.1’ (111)” ເຊິ່ງອາດຈະເກີດຂື້ນເມື່ອທ່ານພະຍາຍາມເຂົ້າເຖິງ server ຂອງຖານຂໍ້ມູນ MySQL.
ກ່ອນທີ່ຈະກ້າວຕໍ່ໄປອີກ, ຖ້າທ່ານເປັນຜູ້ໃຊ້ Linux ຜູ້ ໃໝ່ ໃນ MySQL/MariaDB, ຫຼັງຈາກນັ້ນທ່ານອາດຈະພິຈາລະນາຮຽນຮູ້ 20 MySQL (Mysqladmin) Commands ສຳ ລັບການບໍລິຫານຖານຂໍ້ມູນໃນ Linux ເຊັ່ນກັນ.
ໃນທາງກົງກັນຂ້າມ, ຖ້າທ່ານເປັນຜູ້ໃຊ້ MySQL ທີ່ມີປະສົບການໃນລະດັບປານກາງ/ທີ່ມີປະສົບການແລ້ວ, ທ່ານສາມາດເປັນແມ່ບົດກ່ຽວກັບການປັບແຕ່ງການ ນຳ ໃຊ້ MySQL/MariaDB 15 ຂໍ້ນີ້ແລະ ຄຳ ແນະ ນຳ ກ່ຽວກັບການເພີ່ມປະສິດທິພາບທີ່ເປັນປະໂຫຍດ.
ໝາຍ ເຫດ: ສຳ ລັບບົດສອນນີ້, ສົມມຸດວ່າທ່ານໄດ້ຕິດຕັ້ງ server server ຖານຂໍ້ມູນ mysql ແລ້ວ.
ກັບມາຮອດຈຸດສຸມ, ມີສາເຫດໃດແດ່ທີ່ເປັນໄປໄດ້ຂອງຄວາມຜິດພາດນີ້?
<
ຂ້າງລຸ່ມນີ້ແມ່ນບາດກ້າວທີ່ ຈຳ ເປັນໃນການຈັດການກັບມັນ.
1. ຖ້າເຄື່ອງແມ່ຂ່າຍຂອງຖານຂໍ້ມູນຢູ່ໃນເຄື່ອງຫ່າງໄກສອກຫຼີກ, ຫຼັງຈາກນັ້ນລອງທົດສອບການເຊື່ອມຕໍ່ຂອງລູກຄ້າ - server ໂດຍໃຊ້ ຄຳ ສັ່ງ ping
, ຍົກຕົວຢ່າງ:
$ ping server_ip_address
ເມື່ອມີການເຊື່ອມຕໍ່ແລ້ວ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງ ps
ຂ້າງລຸ່ມນີ້ເຊິ່ງສະແດງຂໍ້ມູນກ່ຽວກັບການເລືອກຂະບວນການທີ່ມີການເຄື່ອນໄຫວ, ພ້ອມດ້ວຍທໍ່ ທໍ່
ແລະ grep, ເພື່ອກວດສອບວ່າ da mysql daemon. ໃຊ້ໃນລະບົບຂອງທ່ານ.
$ ps -Af | grep mysqld
ບ່ອນທີ່ທາງເລືອກ:
<
-A
- ກະຕຸ້ນການເລືອກຂະບວນການທັງ ໝົດ -f
- ສາມາດເປີດບັນຊີລາຍຊື່ຮູບແບບເຕັມຮູບແບບ ຖ້າບໍ່ມີຜົນອອກມາຈາກ ຄຳ ສັ່ງກ່ອນ ໜ້າ ນີ້, ໃຫ້ເລີ່ມຕົ້ນໃຫ້ບໍລິການ mysql ດັ່ງຕໍ່ໄປນີ້:
$ sudo systemctl start mysql.service $ sudo systemctl start mariadb.service OR # sudo /etc/init.d/mysqld start
ຫຼັງຈາກເລີ່ມຕົ້ນການບໍລິການ mysql, ພະຍາຍາມເຂົ້າເຖິງຖານຂໍ້ມູນ server:
$ mysql -u username -p -h host_address
2. ຖ້າທ່ານຍັງມີຂໍ້ຜິດພາດຢູ່ຄືເກົ່າ, ຫຼັງຈາກນັ້ນ ກຳ ນົດພອດ (ຄ່າເລີ່ມຕົ້ນແມ່ນ 3306) ທີ່ daemon mysql ກຳ ລັງຟັງໂດຍການແລ່ນ ຄຳ ສັ່ງ netstat.
$ netstat -lnp | grep mysql
ບ່ອນທີ່ທາງເລືອກ:
<
-l
- ສະແດງທ່າທາງການຟັງ -n
- ສາມາດສະແດງທີ່ຢູ່ຂອງຕົວເລກ -p
- ສະແດງ PID ແລະຊື່ຂອງໂປແກຼມທີ່ເປັນເຈົ້າຂອງເຕົ້າຮັບ ດັ່ງນັ້ນ, ໃຊ້ຕົວເລືອກ -P
ເພື່ອລະບຸພອດທີ່ທ່ານເຫັນຈາກຜົນໄດ້ຮັບຂ້າງເທິງໃນຂະນະທີ່ເຂົ້າເຖິງຖານຂໍ້ມູນ:
$ mysql -u username -p -h host_address -P port
3. ຖ້າທຸກ ຄຳ ສັ່ງຂ້າງເທິງ ດຳ ເນີນການຢ່າງປະສົບຜົນ ສຳ ເລັດ, ແຕ່ທ່ານຍັງເຫັນຂໍ້ຜິດພາດຢູ່, ເປີດເອກະສານ mysql config.
$ vi /etc/mysql/my.cnf OR $ vi /etc/mysql/mysql.conf.d/mysqld.cnf
ຊອກຫາເສັ້ນທາງລຸ່ມແລະປະກອບ ຄຳ ເຫັນອອກໂດຍໃຊ້ຕົວອັກສອນ #
:
bind-address = 127.0.0.1
ບັນທຶກເອກະສານແລະອອກ, ຫລັງຈາກນັ້ນໃຫ້ບໍລິການຂອງ mysql ເລີ່ມຕົ້ນເຊັ່ນ:
$ sudo systemctl start mysql.service $ sudo systemctl start mariadb.service OR # sudo /etc/init.d/mysqld start
ເຖິງຢ່າງໃດກໍ່ຕາມ, ຖ້າທ່ານມີການໃຊ້ງານ Iptables ພະຍາຍາມທົບທວນການບໍລິການ firewall ແລະເປີດທີ່ Port mysql, ສົມມຸດວ່າມັນແມ່ນ firewall ກຳ ລັງສະກັດການເຊື່ອມຕໍ່ TCP-IP ກັບ server mysql ຂອງທ່ານ.
ຫມົດເທົ່ານີ້! ທ່ານຮູ້ວິທີອື່ນຫລືມີ ຄຳ ແນະ ນຳ ສຳ ລັບແກ້ໄຂຂໍ້ຜິດພາດການເຊື່ອມຕໍ່ MySQL ຂ້າງເທິງບໍ? ໃຫ້ພວກເຮົາຮູ້ໂດຍການລົງ ຄຳ ເຫັນຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.