본문 바로가기

MySQL

mysql user 생성시 ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default valueMysql 버전이 높아지면서 보안관련 인한 오류입니다.User 생성시 Host, User ,Password, ssl_cipher, x509_issuer, x509_subject 를 입력 해 주셔야 합니다.ssl_cipher, x509_issuer, x509_subject 값은 '' 빈값을 입력하세요. ex) insert into user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject ) values('localhost','사용자명',password('비밀번호'),'','',''); ERROR 1364 (HY000): Fiel.. 더보기
MySQL 원격 접속 허용 출처 : https://zetawiki.com/wiki/MySQL_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9 MySQL 외부 접속 허용 설정MySQL에 원격 접속 허용하기MySQL에 root 원격 접속 허용하기목차1 문제상황2 확인3 변경4 원래 상태로 복구5 LISTEN IP대역 변경6 같이 보기7 주석1 문제상황[편집]MySQL을 설치하면 기본적으로 로컬(localhost)에서만 접속이 가능하고 외부에서는 접속이 불가능하게 되어 있다.외부에서 접속해보면 다음과 같은 오류 메시지가 나온다.[1]Host '135.79.246.80' is not allowed to connect to this MySQL server Toad for MySQL과 같.. 더보기
최근 데이터 가져오기 mysql 한달전 where reg_date >= date_add(now(), interval -1 month) 하루전 where reg_date >= date_add(now(), interval -1 day) 한시간전 where reg_date >= date_add(now(), interval -1 hour) +이면 후가 되겠죠! 기타 날짜 조건 select date_format(D_time,"%Y-%m-%d") from 테이블명 select date_format(D_time,"%H:%i::%s") from 테이블명 D_time 오늘인거 가져오기 select D_time from 테이블명 where date_format(D_time,"%Y-%m-%d") = current_date; 등록된지 24시간이 .. 더보기
SQL UNION 구문 출처 : http://makand.tistory.com/236 이번에 포스팅할 내용은 SQL UNION 구문 입니다. UNION 은 두 개 이상의 select 문을 결합하는데 사용합니다. 두 개 이상의 select 문을 결합할때 주의해야 할 점은 불러오는 칼럼의 개수가 서로 같아야 한다는 것입니다. 그리고 union 의 구문은 union 과 union all 두 가지 방식이 있습니다. 두 구문의 차이점은 아래와 같습니다. 아래와 같은 두 개의 테이블이 있다고 가정합니다. TABLE1 TABLE2 ----------------- ----------------- field1 field1 ----------------- ----------------- 1 5 2 3 3 1 ----------------- --.. 더보기
MySQL charset encoding 출처 : http://kwonnam.pe.kr/wiki/database/mysql/charset Charset과 Collation의 차이 Character Set General MySQL에서 문자셋과 Collation의 차이 A character set is a set of symbols and encodings. A collation is a set of rules for comparing characters in a character set. 문자셋(character set)은 심볼(글자)과 인코딩의 묶음이고, Collation은 문자셋의 문자들을 비교하는 규칙이다. 예를들어 글자 A=0, B=1, a=10, b=11 이라고 할 때 'A'는 글자이고 '0'은 인코딩이다. 여기서 볼 때 'A'와 'a'.. 더보기
MySQL 테이블 인코딩 변경하기 MySQL 테이블 인코딩을 변경하기 위해 다음과 같이 할 수 있다. ALTER TABLE users CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; 위 명령은 users라는 테이블을 utf8 인코딩으로 변경한다. 참고: http://www.devcha.com/2008/03/convert-existing-mysql-database-from.html 더보기
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' If you are using ubuntu, you have to use the following steps to avoid this error: run the command vim /etc/mysql/my.cnf comment bind-address = 127.0.0.1 using the # symbol restart your mysql server once. 더보기
MySQL Job failed to start 출처 : http://stackoverflow.com/questions/22909060/mysql-job-failed-to-start First make a backup of your /var/lib/mysql/ directory just to be safe. sudo mkdir /home//mysql/ cd /var/lib/mysql/ sudo cp * /home//mysql/ -R Next purge MySQL (this will remove php5-mysql and phpmyadmin as well as a number of other libraries so be prepared to re-install some items after this. sudo apt-get purge mysql-serv.. 더보기
DB 중복 개수 확인 출처 : http://jmnote.com/wiki/SQL_%EC%A4%91%EB%B3%B5_%EA%B0%9C%EC%88%98_%ED%99%95%EC%9D%B8 (SQL 중복 개수 확인에서 넘어옴) MySQL에서 테스트되었습니다. 중복 개수 확인 목차 [숨기기] 1 문제상황 2 해결방법 3 같이 보기 문제상황아래와 같은 테이블에서 A, B, C, … 각각의 개수를 구하고 싶다. mysql> SELECT * FROM jmtable; +----+-----+ | id | str | +----+-----+ | 1 | A | | 2 | B | | 3 | A | | 4 | C | | 5 | C | | 6 | E | | 7 | D | | 8 | C | +----+-----+ 8 rows in set (0.00 sec).. 더보기
[MySQL] root 비밀번호 분실 1. mysql 중지 $> sudo service mysql stop 2. mysql_safe 실행 $> sudo /usr/bin/mysqld_safe --skip-grant & 3. 새 패스워드 지정 $> /usr/bin/mysql -uroot mysql > update user set password=password('패스워드') where user='root'; > FLUSH privileges; > quit 4. mysql 재시작 $> sudo service mysql restart [출처] [MySQL] root 비밀번호 분실|작성자 youngchanmmm 더보기
[MySQL] Mysql 한글 깨짐 MySql 한글 깨짐 해결법. 1. my.cnf 파일 수정 일반적으로 /etc/my.cnf 경로에 존재하지만, 설치 과정에 따라 my.cnf 파일 경로가 다를 수 있습니다. 경로를 잘 모르시면, # find / -name my.cnf 로 찾아보세요. 경로를 확인했으면, # vi /etc/my.cnf 아래 항목처럼 utf8 로 설정을 변경 또는 추가 합니다. 한가지 팁을 드리자면, 인터넷에 나와있는 예제들중에 [mysqld] 항목 아래에 default-charcter-set 이 있는데, mysql 5.5 버전에선 동작하지 않습니다. 아무래도 최신버전에서 삭제된 항목 같습니다. 혹시 있다면, 주석처리 또는 지워 주시면 되겠습니다. [mysqld] datadir=/var/lib/mysql socket=/var.. 더보기
[DB] MySQL 원격 접속 설정하기 출처 : http://nsinc.tistory.com/70 MySQL을 설치하고 외부에서 접속하기 위해서는 원격접속에 대한 설정이 필요합니다. MySQL은 보안상의 이유로 기본적으로 외부 접속이 모두 차단됩니다.(ROOT User도 마찬가지로 차단됩니다.) 여기서는 Command Prompt를 통해 MySQL의 원격접속을 설정하는 방법에 대해 안내 드립니다. 진행방법 가장 먼저 MySQL이 접속된 PC에서 MySQL Command Prompt 를 실행해야 합니다. 이 방법은 아래와 같이 2가지 방법으로 진행하실 수 있습니다.방법1[시작] → [모든 프로그램] → [MySQL] → [MySQL Server 5.1] → [MySQL Command Line Client] 실행 → Root Password 입력.. 더보기
Mysql 관리 명령어 - mysqladmin, mysqlshow, mysqladmin ping, mysqladmin ping,mysqladmin drop Mysql 관리 명령어 - mysqladmin, mysqlshow, mysqladmin ping, mysqladmin ping,mysqladmin drop 앞서 포스팅했던 bin에 들어있던 실행파일들을 이용해서 실습해보겠다. 콘솔창에서 mysqlshow라는 명령어를 입력하고 엔터키를 쳤다 mysqlshow는 현재 만들어져 있는 데이터베이스를 보여달라는 명령어이다. 그런데 위와 같이 에러 메세지가 나온다.이제 다시 아래와 같이 입력해보겠다. myslqshow 옆에 -u root -p 를 추가하고 엔터를 누르면 Enter password 가 나온다. 여기에 지정해둔 암호를 입력하면 올바르게 실행된다. 출력을 보니 현재는 그림과 같은 데이터베이스들이 있다. -u root에서 -u는 사용자 계정을 지정할 때 사.. 더보기
[MySQL]ALTER 출처 : http://pineoc.blog.me/70182858702 ALTER alter 명령문 1. 새로운 컬럼을 만듭니다. ALTER TABLE table_name ADD column_name datatype 2. 컬럼을 삭제합니다. ALTER TABLE table_name DROP COLUMN column_name 3. 데이터 타입을 바꾼다. ALTER TABLE table_name MODIFY COLUMN column_name datatype 실습> -테이블 생성- -alter table diplomas add 컬럼명 데이터타입 (앞서 두개의 값을 insert 하였습니다.) -alter table diplomas modify 컬럼명 데이터 타입 원래는 char(2)였는데 int(11)로 바뀌었습.. 더보기
ERROR 1045 (28000): Access denied for user .....@'localhost' (using password: mysql에 접속하려고하는데 , ERROR 1045 (28000): Access denied for user .....@'localhost' (using password: 에러가 발생하여 접속이 불가능하다. 패스워드가 잘못되었을 가능성이 있으므로 root로 접속하여 패스워드를 변경해본다. 1.접속 C:\Program Files\MySQL\MySQL Server 5.5\bin>mysql -u root 2.데이터베이스 선택 mysql> use mysql; Database changed 3.유저확인 mysql> select user from user; 유저가 없으면 유저를 생성한여 권한을 주면 끗! 4.유저가 있는경우 패스워드를 변경해본다. mysql> update user set password=passwo.. 더보기
MySQL user 생성/권한부여/삭제 mysql user 생성/권한 부여/삭제 * 권한 설정 오류 시 : user 테이블의 Grant_priv 권한 확인. 1. user 생성 >> create user '아이디'@'localhost' identified by '비밀번호'; localhost or % ( : 원격 접속가능) 2. user 권한 부여 >> grant select, insert, update, delete, create, drop, alter on DB명.* to '아이디'@'localhost'; all privileges : 모든 권한 / *.* : 모든DB / with grant option : 권한위임가능 3. user 권한 보기 >> show grants for '아이디'@'localhost(또는%)'; +---------.. 더보기
Database 관련 튜토리얼 sqlite 관련 튜토리얼 http://www.tutorialspoint.com/sqlite/ sql 관련 튜토리얼 http://www.w3schools.com/sql/ 더보기
RDBMS vs NoSQL, CAP 이론 출처 : http://develop.sunshiny.co.kr/883 Visual Guide to NoSQL System 이미지 출처 : http://blog.nahurst.com/visual-guide-to-nosql-systems CAP 이론 * 일관성(Consistency) : 모든 노드들은 같은 시간에 동일한 항목에 대하여 같은 내용의 데이터를 사용자에게 보여준다. * 가용성(Availability) : 모든 사용자들이 읽기 및 쓰기가 가능해야 하며, 몇몇 노드의 장애 시에도 다른 노드에 영향을 미치면 안된다. * 생존성(Partition tolerance) : 노드 간의 메시지 손실(부분 결함)이 있어도 정상적으로 동작해야 한다. # ACID(Atomicity, Consistency, Isola.. 더보기
Mysql 홀로서기 7일차 드디어 . . php와 mysql연동시간이 돌아 왔습니다. 일단 mysql connect 함수로 php와 mysql이 연결 되있는지 확인해봅시다. 정상적으로 접속 되는지 확인하고 안된다면..음..다시 ㅋㅋ 해보세요 ㅋㅋ 자 일단 데이터베이스랑 테이블을 생성해봅시다 mysql>create database 만들테이터베이스명; mysql>use 만든 데이터베이스명; mysql>create table 만들테이블명(줄 속성) 여기서 속성은 앞에에서나왔듯이 본인이 저장될 정보의 레이블 이름등을 잘 지정하고 거기에 인트값인지 문자열인지 생각해서 지정해 주시면 됩니다. mysql>show columns from 만든테이블명; 으로 다시한번 확인해줍니다. 다음으로 회원등록초기화면 과 회원등록 화면이 필요한데 이것은 ht.. 더보기
Mysql 홀로서기 6일차 Mysql서버를 설치하시면 mysql이라는 기본 데이터베이스가 있습니다. 이 mysql데이터베이스에는 총 6개의 table이 존재하는데 이중 db테이블은 다른 데이터베이스 정보와 사용자 관련 정보를 포함하고 user테이블은 사용자별 접근 권한 정보를 포함합니다. (1) 루트 패스워드 바꾸기 mysql>use mysql; mysql>update user set password=password('패스워드') where user='root' mysql>flush privileges; = > 바꾼 명령 바로적용 (2)사용자 추가 새로운 사용자 추가는 mysql의 user테이블에서 하시면 됩니다. user테이블에는 열이 총 33개이므로 host, user, password항목에서는 각각 서버의 도메인주소, 사용자.. 더보기
Mysql 홀로서기 5일차 오늘은 레코드 변경과 레코드 삭제에 대해서 알아보겠습니다!! 레코드의 변경은 특정 테이블의 특정레코드에 대해 특정 속성값 또는 값들을 변경하는 질의문을 말합니다. (1) 단일 레코드 변경 그럼 형식을 알아볼께요 UPDATE SET field_expression_list [where update_condition]; 여기서 table은 변경하고자 하는 table field_expression_list는 대상 속성에 대한 상수값이나 산술 연산식을 써줍니다. update_condition은 변경하고자하는 레코드를 검색해줍니다. 실습해봅시다!! mysql>update salesman -> set point=point+100 ->where sname = 'abc' 이상입니다 결과는?? abc의 point값이 +1.. 더보기
Mysql 홀로서기 4일차 이번시간은 레코드 삽입에 대해 알아보겠습니다 레코드에서는 INSERT구문 을 쓰입니다 형식은? INSER INTO table 이름 (ex.salesman) 그후에 [flied ex) sno , sname, hire ..] VALUES (필드에 들어갈 값들, 순서대로) 실습해봅시다 mysql> insert into salesman -> (sno, sname, hire, point, branch) -> values( 's123, 'abc', '1998-10-12', 200, 'aa') query ok 위에께 어떤건지 아시겠어요?? salesman이라는 table에 sno , sname , hire, point, branch 필드에 해당되는 값을 넣은겁니다. 나머지 값도 똑같은형식으로 넣으시면 됩니다 물론. .. 더보기
Mysql 홀로서기 3일차 자 이번에는 테이블에 대해 알아봅시다 일단 #mysql -u root -p flag 저번에 만든 flag 데이터베이스 접속합니다 그후 mysql> show tables; 하면 아직 만든것이 없어 empty set이라는 구문이 출력됩니다. 그럼 인제부터 테이블 구성을 해봅시다. 자 원래 테이블 정의는 매우 어렵습니다 . 여러분 여러 분야를 여러개로 쪼개서 그 레코드와 테이블을 정의하여야 하지만 그것은 제외하고 간단한것으로 만드는 법정도만 알아보겠습니다. 일단 저는 새롭게 시작하는 php5 programming이라는 책의 내용을 바탕으로 실습해보겠습니다. 영업사원 테이블에 레코드 값들이 되있습니다. sno(사번) sname(성명) hire(입사날) point(실적) branch(사는곳) s1 abc 1998.. 더보기
Mysql 홀로서기 2일차 데이터 베이스 생성에 대해 알아보겠습니다. 1. 생성된 데이터 베이스 확인 mysql->show databases; 처음에는 연습용 빈 데이터베이스인 "test"와 시스템에서 사용하게 될 메타 데이터베이스인 "mysql"이 검색됩니다. 이제 실습에 사용할 데이터베이스 생성해봅시다 이름이 "flag" (전이렇게) 로 생성 해보겠습니다. mysql-> create database flag; "Query OK"가 출력되면 정상적으로 수행 되었음을 알려줍니다. 그래도 다시 확인해봅시다 mysql-> show databases; 자 그럼 저가만든 flag라는 데이터베이스를 사용하기 위해 선택을 해보겠습니다. mysql->use flag; Database changed 가 뜨면 제대로 성공했습니다 use구문은 세미.. 더보기
Mysql 홀로서기 1일차 mysql부터 시작해보겠습니다. 일단 Mysql이 설치되있다는 가정하에 모든걸 시작하겠습니다 mysql의 실행파일은 /usr/bin 에 있습니다 yum설치시에 #mysql -u root -p 지정해주셨던 root 비밀번호를 치고 mysql에 접속합니다. 간단한 Mysql의 버전과 오늘의 날짜를 출력하는 질의어를 실행해보겠습니다. #mysql> SELECT VERSION(), CURRENT_DATE; #mysql > select version(), current_date; 결과 나오시는걸 확인 하셨죠? 이것으로 mysql의 특성을 한번 알아보겠습니다. 첫째, mysql에서의 질의어 (명령어) 는 대부분 세미클론(;) php와 같네요. 몇가지 경우를 제외하고는 세미클론이 없으면 질의어로 인식하지 않습니다. .. 더보기