MySQL 접속

$ mysql -u root -p

root 암호 초기화

mysql>

UPDATE

 user

SET

password=password(

'new_password'

)

WHERE

user=

'root'

;
mysql>

FLUSH

privileges;


데이터베이스 선택 및 보기

mysql>

USE

mysql;
mysql>

SELECT

Host, User, Password

FROM 

user;


사용자 추가

- 서버 주소의 경우 localhost, %, 127.0.0.1 도 같이 처리해 줍니다.
- 외부 접속은 'localhost'  대신에 '%' 를 사용합니다.

mysql>

INSERT INTO

user (Host, User, Password)

VALUES

(

'localhost'

,

'유저명'

, password(

'유저패스워드'

));
mysql>

INSERT INTO

user (Host, User, Password)

VALUES

(

'127.0.0.1'

,

'유저명'

, password(

'유저패스워드'

));
mysql>

INSERT INTO

user (Host, User, Password)

VALUES

(

'%'

,

'유저명'

, password(

'유저패스워드'

));
mysql>

FLUSH

privileges;


사용자 삭제 예

mysql>

DELETE FROM 

user

WHERE

user=

'root' 

and host='%';


데이터베이스 추가 및 권한 주기

- 모든 권한시 데이터베이스명.* 대신 *.* 로 처리합니다.

mysql>

CREATE DATABASE

데이터베이스명;
mysql>

GRANT ALL

privileges

ON

데이터베이스명.*

TO 유저명@localhost IDENTIFIED BY

'유저패스워드';
mysql>

GRANT ALL

privileges

ON

데이터베이스명.*

TO 유저명@127.0.0.1 IDENTIFIED BY

'유저패스워드';
mysql>

GRANT ALL

privileges

ON

데이터베이스명.*

TO 유저명@'%' IDENTIFIED BY

'유저패스워드';


이렇게 해서 외부접속이 안되면 insert into 구문 잘못 입력시 % 가 잘못 입력되거나 패스워드를 유저 패스워드가 아닌 root 패스워드를 입력했을 가능성이 있습니다. 이 경우 % 를 다시 바꿔주면 됩니다.

mysql>

UPDATE INTO

user 

SET

Host=

'%' WHERE 

user=

'유저명'

;
mysql>

FLUSH

privileges;


이렇게 해주면 외부입력 처리가 됩니다. 


mysql 테이블 명 변경

rename table 원래 테이블명 to 바꿀테이블명;
alter table 테이블명 rename 바꿀테이블명;





1.원래 있던 테이블을 이름만 바꿔서 새로 만들고 싶을때
create table 새테이블명 select * from 원본테이블명

2.테이블 스키마가 같은 경우 데이터 복사할때
insert into tableA select * from tableB

3.테이블이 다른 곳에 복사
create table tableA.fld as select from tableB.fld
create table project.zipcode as select from exam.zipcode;

반응형

+ Recent posts