MYSQL 을 linux 상에서 접속을 할줄 몰라 열심히 삽질 하다가 겨우 찾아냈다.


사실 말하면 그동안 동료가 알려줬지만 제대로 못 외워서 삽질한게 더 맞는 것 같다.

역시 삽질하면서 배워야지 자기 것이 되는게 맞는 말인듯....


일반적으로 mysql 접속은 아래와 같다.


/usr/local/mysql/bin/mysql -u user01 -p user_db


-u 뒤에는 유저명

-p 뒤에는 패스워드를 작성하면 된다.


하지만 나는 진행할려고 할때마다 아래와 같은 에러가 발생했다.


[root@devDB ~]# mysql -h localhost -u root -p

Enter password:

ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)


왜이리 접속이 안되서 열심히 찾아보이 socket 을 이용해서 접속하는 것이기에,

해당 socket파일에 명시가 되어 있지 않다고 되어 있다.


Oracle 과 비교하면 리스너와 같은것으로 보면 될까?? 리스너 포트가 변경되었을 때

리스너 포트를 명시하는 경우다.


아래와 같이 진행하면 된다.

해당 개발DB의 경우 cnf 파일에 명시되어 있는데 cnf 파일을 보면 아래와 같다


...

[mysqld7100]

socket          = /tmp/mysql_1100.sock

port            = 7100

pid-file        = /home/DATABASE/DBPart/mysql_1100.pid

datadir         = /home/DATABASE/DBPart/

server-id       = 1100

...


그래서 아래와 같이 시도를 하면 접속이 된다.


mysql -u root -p -S /tmp/mysql_1100.sock


참고로 -p 뒤에 비밀번호를 붙이지 않으면 비밀번호를 묻게 된다.



mysql -u user01 -p user_pw

mysql : MYSQL 데이터베이스 클라이언트 프로그램

-u : MYSQL 사용자명을 지정하기 위한 옵션

-p : 지정한 사용자의 MYSQL 패스워드를 입력하기 위한 옵션

user_db : 지정한 사용자가 사용할 MYSQL 데이터베이스명


Oracle 하다가 Mysql 를 하려고 하니 참 낯설다-ㅋㅋㅋ


반응형

+ Recent posts