목록MySQL (8)
wrkbrs
* ON DELETE SET NULL * ON UPDATE SET NULL 옵션 SET NULL -> 부모테이블에서 primary 값이 수정 또는 삭제될 경우 하위테이블의 reference값은 존재할 수 없습니다. 옵션이 없을 경우는 에러가 발생하고 옵션 SET NULL 로 정의되면 하위테이블의 reference값이 NULL 값으로 변경되면서 참조무결성을 유지합니다. * ON UPDATE CASCADE 옵션 CASCADE -> 부모테이블에서 primary 값이 수정될 경우 옵션 CASCADE 로 정의되면 하위테이블의 reference값은 변경된 상위테이블의 수정된 값을 가지면서 참조무결성을 유지합니다. * ON DELETE CASCADE 옵션 CASCADE -> 부모테이블에서 primary 값이 삭제될 ..
Windows MySQL root 패스워드 분실시 1. MySQL 프로세스 종료 [시작] - [실행] - 'services.msc' 입력 후 엔터 > mysql 관련 프로그램을 종료합니다. 2.인증제외한 MySQL 데몬 실행 # cd "C:Program FilesMySQLMySQL Server 5.5bin" 3. 비번없이 접속후 mysql DB의 user 테이블에서 root 패스워드 변경 # mysqld --skip-grant 이후 아무런 키가 먹지 않으며 창이 멈춘것처럼 보입니다. 다른 명령프롬프트 창을 띄워 mysql에 로그인합니다. # mysql -u root -p mysql> use mysql; mysql> update user set password=password('new password') ..
많은 분들이 mysql 테이블을 생성할 때 index를 주는데, 실제로 보니까 index를 잘못주는 경우가 많더군요. 1. 인덱스를 검사하는 법. explain select * from Table_Name where A='a' and B='b' order by C,D,E ; 해당 쿼리문이 인덱스를 타는지 안타는지 알기 위해서는 쿼리문 앞에 explain을 붙여주면 인덱스를 타는지 안타는지 알 수 있습니다. type의 결과값이 ALL일 경우 인덱스를 타지 않고 있습니다. range,index등일 때 인덱스를 타고 있습니다.(system,const,eq_ref,range,index,ALL,fulltext) key의 값이 해당 쿼리문이 타고 있는 인덱스입니다. 2. 경우의 수가 작은 것은 인덱스를 타지 않습니..
전체 서버의 기본 언어 인코딩을 UTF-8으로 설정 서버에 있는 my.ini(windows) 혹은 my.cnf(Unix)파일을 찾습니다. Unix일 경우, 보통 /etc/my.cnf에 있으며, 없다면 새로 만들어야 합니다. 기본 설정 파일은 MySQL 소스 코드와 함께 딸려오는 support-files 폴더 안에, 용도별로 여러 개의 설정 파일들이 있으며, 자신의 서버 환경에 맞는 설정 파일을 골라서 이것을 기준으로 수정해 주면 됩니다. Windows용 설정 파일은 보통 C:\Windows\my.ini에 있습니다. 설정 파일을 열고, [mysqld] 설정 부분에 character-set-server 변수 설정 내용을 다음과 같이 변경/추가합니다. [mysqld] character-set-server = ..
Windows의 cmd에서 Mysql을 실행하는 방법에 대해 알려드리겠습니다. mysql의 기본 접속 방법은 > mysql -u [계정] -p [비밀번호]입니다. 그런데 막상 cmd에서 mysql 명령문을 입력하면 mysql을 실행할 수 없다는 오류가 발생합니다. 이 오류는 컴퓨터의 환경 변수 path에 mysql이 적용되어 있지 않아 컴퓨터가 mysql이라는 명령어를 인식하지 못하는 에러인데요. 간단하게 path에 mysql이 설치되어 있는 주소값만 넣어주면 바로 해결됩니다. 오류를 해결하기 위해 환경 변수 창으로 접속해 주어야 합니다. 접속 방법은 내 컴퓨터(내 PC)를 연 다음 왼쪽 화면에 내 컴퓨터(내 PC) 아이콘을 오른쪽 마우스로 클릭 후 속성에 들어가 줍니다. 그런 다음 왼쪽 탭에서 고급 시..
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC 추가: ?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC https://stackoverflow.com/questions/26515700/mysql-jdbc-driver-5-1-33-time-zone-issue
Mysql root 비밀번호 재설정root 패스워드를 잊은 경우 재설정하기. Windowsmysql 서비스를 종료한 뒤 관리자 권한으로 커맨드라인을 실행해 다음을 입력한다. 비밀번호 없이 mysql에 접속된다.C:\> cd C:\Program Files\MySQL\MySQL Server 5.7\binC:\> start mysqld.exe --skip-grant-tablesC:\> mysqlColored by Color Scriptercs 패스워드를 변경한다.UPDATE mysql.user SET password=password('패스워드') WHERE user='root';FLUSH PRIVILEGES;Colored by Color Scriptercs Mysql 5.7 버전 이상에선 컬럼명이 바뀌었다. ..
C:\Program Files\MySQL\MySQL Server 5.6에는 my-default.ini 파일이 존재 C:\ProgramData\MySQL\MySQL Server 5.6\my.ini my.ini1234567891011121314[client]default-character-set = utf8 [mysqld]character-set-client-handshake = FALSEinit_connect="SET collation_connection = utf8_general_ci"init_connect="SET NAMES utf8"character-set-server = utf8 [mysql]default-character-set = utf8 [mysqldump]default-character-se..