본문 바로가기

mysql

(18)
mac에서 mysql 서버 시작 아래 명령어로 주면 살아난다. mysql.server start
authentication failed access denied workbench 구글링 해서 찾아봐도 도저히 안나와서.. 다시 스택오버플로우 에서 찾아보니까 어떤 양반이 mysql 서버가 죽어서 그렇다고 한다. mysql 상태를 확인해서 시작 or 재시작 하라고 했는데 혹시 몰라서 재시작 하니까 서버가 멈추고.. 아예 먹통이 되니까 리부트 하고 워크벤치로 접속하니까 바로 접속 되네... 한참 개고생 했는데.. 접속 되어서 다행이다~~!! 참고로 이건 제가 이것저것 시도해보고 한거라서 과정이 비슷하다면 서버 리부트도 권해드립니다.
Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation 이런 에러 나오는게 알아보니까 슈퍼 권한이 없어서 나온다는 에러라고 하는데.. 맞는진 모르겠지만 일단 루트로 접근해봤다. mysql -u root -p // 비번접속후 아래 코드로 슈퍼 권한을 주면 된다. GRANT ALL PRIVILEGES ON *.* TO 'superuser'@'%'; GRANT GRANT OPTION ON *.* TO 'superuser'@'%'; FLUSH PRIVILEGES; EXIT; 새로 로그인 한다. mysql -u superuser -p SHOW GRANTS FOR 'super..
mysql8 비밀번호 초기화 일단 아래 참고 사이트 보면서 그대로 따라 했다. 버전 마다 차이 있습니다. 5.7부터 8까지 는 그대로 따라하는데 비밀번호 변경 하는 문법이 8 기준에서만 동작됩니다. systemctl stop mysqld // mysql 중단 mysqld --skip-grant-tables --user=mysql & // 비활성화시키기 mysql FLUSH PRIVILEGES; SELECT user, host, plugin FROM user; // 계정 조회부터하고 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd'; // 비번 바꾸기 FLUSH PRIVILEGES; exit; // 종료 참고 문헌 : https://ko.linux-console.net/?p=61..
invalid default value for datetime https://stackoverflow.com/questions/9192027/invalid-default-value-for-create-date-timestamp-field Invalid default value for 'create_date' timestamp field I have the following sql create statement mysql> CREATE TABLE IF NOT EXISTS `erp`.`je_menus` ( -> `id` INT(11) NOT NULL AUTO_INCREMENT , -> `name` VARCHAR(100) NOT NULL , ... stackoverflow.com SET SQL_MODE='ALLOW_INVALID_DATES';
phpmyadmin 유효하지 못한 디폴트 값을 사용하셨습니다. phpmysqladmin에서는 좀 약간 바꿔서 입력해야된다. 위에 메시지가 뜰경우 아래 처럼 명령어 몇줄 더 추가하면된다. SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; ALTER TABLE `테이블명` CHANGE `date` `datetime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
mysql - Invalid default value for '~' DATETIME 1. default 로 속성 DATETIME 을 이용하여 현재 시간으로 설정하려고하니 아래와 같은 에러가 발생했다 Error Code: 1067. Invalid default value for 'CREATE_DATE' 2. 데이터 타입을 DATETIME에서 TIMESTAMP 으로 변경후, 3. 아래와 같이 DEFAULT 타입을 수정해주니 정상작동이 되었다. alter table USER_INFO modify CREATE_DATE TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 위에 내용대로 해결이 안되서 다르게 했음 SET SQL_MODE='ALLOW_INVALID_DATES'; 위에 있는 코드로 하면 '0000-00-00' 년도 처리가 된다. 참고 자료 : https:/..
mysql - 금액 관련 혹은 숫자 문제 금액 단위를 1 부터 10까지 한다고 예를들면.. where ( price >= 1000000 and price > 1000000 백만원으로 표현해야됨 (* 10000) 곱하기 1만을 넣어줘서 100만원으로 맞춰야 한다.