Search

MySQL 삽질(private)

MySQL 실행하려는데 오류발생
딱히 이미 돌고 있는 mysql 서버도 없음
ps grep mysql
Java
복사
소유권 변경 및 권한 부여 - 실패
sudo chown -R mysql /usr/local/mysql sudo chmod -R 777 /usr/local/mysql
Java
복사
링크 파일이 가리키는 파일도 바꿔봄 - 실패
homebrew 내의 폴더 권한 부여 - 실패
.err 파일 내부 조회(cat 명령어로 조회함)
2023-03-07T01:54:56.480787Z 0 [ERROR] [MY-013597] [Server] Plugin mysqlx reported: 'Value '127.0.0.1' set to `Mysqlx_bind_address`, X Plugin can't bind to it. Skipping this value.' 2023-03-07T01:54:56.480811Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of socket: '/tmp/mysqlx.sock' failed, can't open lock file /tmp/mysqlx.sock.lock' 2023-03-07T01:54:56.596267Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. 2023-03-07T01:54:56.596288Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. 2023-03-07T01:54:56.596431Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: Address already in use 2023-03-07T01:54:56.596438Z 0 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 3306 ? 2023-03-07T01:54:56.596451Z 0 [ERROR] [MY-010119] [Server] Aborting 2023-03-07T01:54:57.616305Z 0 [System] [MY-010910] [Server] /opt/homebrew/opt/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.32) Homebrew. 2023-03-07T01:54:57.6NZ mysqld_safe mysqld from pid file /opt/homebrew/var/mysql/Gyureyui-MacBookAir.local.pid ended
Java
복사
보니까 binlog 파일이 며칠 전 mysql 강의를 들은 이후로 몇만개가 초단위로 생성되고 있었음. 용량은 600mb가 넘어가고 있었음..
일단 mysql 삭제 후 재설치함
brew uninstall mysql brew install mysql
Java
복사
재설치해도 똑같이 안 됨
에러파일을 확인해보니 이미 포트가 사용중이라고 함
2023-03-07T02:21:53.303836Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of bind-address: '127.0.0.1' port: 33060 failed, `bind()` failed with error: Address already in use (48). Do you already have another mysqld server running with Mysqlx ?'
Java
복사
아래 명령어로 사용 중인 포트 현황 확인
sudo lsof -PiTCP -sTCP:LISTEN
Java
복사
mysql이 PID도 떡하니 받아 이미 활동중임. 왜 ps grep mysqld로 안 잡히는지 모르겠음
| 표시가 또는이 아니라 전달 역할이었음..
ps -ef | grep mysql
Java
복사
-e 모든 프로세스 출력
-f 풀 포맷으로 보여줌
grep: 특정 문자열 찾는 명령어
-i 대소문자 구분 않고 검색
-n 줄 번호를 함께 출력
-x 패턴과 단어 전체가 일치하는지 출력
파이프라인(|) 명령어로 명령어 1의 처리 결과를 명령어 2로 전달(명령어 연결)
sudo kill 314
Java
복사
허망하게 성공함. 데몬으로 켜진 sql을 또 켜려고 하니 실패한 것이었음.
배운 것
약간의 리눅스 명령어
안 되면 .err 파일 열어보면 자세한 이유가 적혀있음
binlog가 미친듯이 생성되고 있었다는 점