Configuration
사용자 조회
use mysql;
select user, host from user;
계정생성
CREATE USER 'name'@'ip' IDENTIFIED BY 'password';
name : 사용자 계정
ip : 출발지 IP ( Any : % , 특정 대역 : xxx.xxx.%)
password : 비밀번호
계정에 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'name'@'ip' WITH GRANT OPTION;
FLUSH PRIVILEGES;
grant {권한} privileges on {스키마}.{테이블} to {username}@{ip};
외부접속 가능하게 설정하기
- my.cnf 수정하기
sudo vi /etc/mysql/my.cnf
- bind-address 주석처리
#bind-address = 127.0.0.1
- Mysql 재시작
sudo /etc/init.d/mysql restart
사용자 원격접속 허용하기
test 데이타베이스에 user123 계정이 111.222.333.444 IP 에서 접속 가능하게 설정
GRANT all privileges on test.* to 'user123'@'111.222.333.444' identified by '비번' ;
(모든 IP에서 접속 가능하게 하려면 IP 부분을 %
로 변경)
Database - Examples
mysql -u root -p //로그인
show DATABASES;
create database testDB; //데이터베이스 생성
drop database testDB; //데이터베이스 삭제
use testDB; //데이터베이스 선택
Table - Examples
create table testTable(
id INT(11) not null auto_increment,
name varchar(20),
profile text,
date datetime,
constraint testTable_pk primary key(id)
);
create table person(
idx int unsigned auto_increment,
name varchar(30),
age int,
gender char(3),
grade int,
primary key(idx) //고유값 설정 및 자동증가
)Engine='InnoDB' default charset='utf8';
desc testTable;
alter table testTable add 유형; // ADD
alter table testTable drop (column) 유형; // Drop column
alter table [테이블명] change column [기존 컬럼명] [변경할 컬럼명] [변경할 컬럼 타입] // 컬럼이름 변경하기
alter table [테이블명] modify column [변경할 컬럼명] [변경할 컬럼 타입] // 컬럼타입 변경
alter table testTable add constraint 제약조건명 제약조건 (칼럼명); // 제약조건 추가
CREATE
TABLE
MySQL_Table(
DateInserted DATETIME
)
;
CREATE
TRIGGER MySQL_Table_OnInsert BEFORE INSERT
ON MySQL_Table FOR EACH ROW
SET
NEW.dateInserted = NOW()
;
Ref.
https://linuxism.tistory.com/33
시간대 변경하기
https://ingeni.tistory.com/entry/mysql-시간대timezone-변경하는-방법
-
cd /usr/share/zoneinfo 를 쳐서 바꾸고 싶은 시간대가 있는지 확인합니다.
-
한국 시간대(Seoul)로 변경해 보겠습니다.
cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime -
콘솔에서 date 명령어를 수행하면 시간대(TimeZone)이 KST로 변경된 것을 확인할 수 있습니다.
-
mysql을 다시 실행 시키기 위해서 sudo su 슈퍼유저로 접속 한 후
그 다음 콘솔에 service mysql restart 해줘서 mysql을 다시 실행시킵니다.