본문 바로가기
Development/MySQL

[MySQL] IP 변경 후 MySQL 접속에러 해결(ERROR 2002)

by 성딱이 2021. 10. 22.
반응형

 

에러 메세지 : ERROR 2002 (HY000) : Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’

 

 

상황 :  사무실 이전 및 네트워크 셋팅 후, 운영DB 접속하려는데 문제가 발생

원인 : DHCP에 의해 IP가 자동적으로 새로 할당되어 MySQL의 bind-address의 조건에 맞지 않아 문제가 발생

해결 : 1) 래의 IP로 복원 &&  2) bind-address 설정

 

 

1. MySQL 접속 시도

$ mysql -uroot -p
>>> ERROR 2002 (HY000) : Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

 

 

2. 접속이 안되므로, MySQL 재시작 시도 (결국 막힘)

$ service mysql restart
>>> Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

 

 

해결방안 1 : 접속 Device의 IP 주소를 원래 IP 주소로 돌려놓음

참고 : https://sseongju1.tistory.com/29?category=1006457

 

[Linux] Ubuntu 사설 IP 변경 (고정 ip 할당)

Ubuntu 16.04, Ubuntu 20.04 2가지 OS의 버전에 대해서 예제를 구성하였다. From 192.168.0.x To 192.168.0.y 1. Ubuntu 16.04 1. 현재 네트워크 구성 확인 $ ifconfig eno1 Link encap:Ethernet  HWaddr 40:b0:7..

sseongju1.tistory.com

 

 

해결방안 2 : bind-address를 설정 해 줌 (바뀐 ip 혹은 0.0.0.0)
$ cd /etc/mysql/mariadb.conf.d
$ vi 50-server.cnf

# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#
 
# this is read by the standalone daemon and embedded servers
[server]
# this is only for the mysqld standalone daemon
[mysqld]

#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
 
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 192.168.0.x # 요 부분을 바꿔 줌 (0.0.0.0 : 모든ip허용)
 
#
# * Fine Tuning
#
key_buffer_size         = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10

 

끄읏

반응형

댓글