$ mysql -u root -p
mysql>
UPDATEuser
SETpassword=password(
'new_password')
WHEREuser=
'root';
mysql>
privileges;
mysql>
USE mysql;
mysql>
Host, User, Password
FROMuser;
- 서버 주소의 경우 localhost, %, 127.0.0.1 도 같이 처리해 줍니다.
- 외부 접속은 'localhost' 대신에 '%' 를 사용합니다.
mysql>
user (Host, User, Password)
VALUES(
'localhost',
'유저명', password(
'유저패스워드'));
mysql>
user (Host, User, Password)
VALUES(
'127.0.0.1',
'유저명', password(
'유저패스워드'));
mysql>
user (Host, User, Password)
VALUES(
'%',
'유저명', password(
'유저패스워드'));
mysql>
privileges;
mysql>
DELETE FROMuser
WHEREuser=
'root'and host='%';
- 모든 권한시 데이터베이스명.* 대신 *.* 로 처리합니다.
mysql>
데이터베이스명;
mysql>
privileges
ON데이터베이스명.*
TO 유저명@localhost IDENTIFIED BY '유저패스워드';
mysql>
privileges
ON데이터베이스명.*
TO 유저명@127.0.0.1 IDENTIFIED BY '유저패스워드';
mysql>
privileges
ON데이터베이스명.*
TO 유저명@'%' IDENTIFIED BY '유저패스워드';
이렇게 해서 외부접속이 안되면 insert into 구문 잘못 입력시 % 가 잘못 입력되거나 패스워드를 유저 패스워드가 아닌 root 패스워드를 입력했을 가능성이 있습니다. 이 경우 % 를 다시 바꿔주면 됩니다.
mysql>
user
SETHost=
'%' WHEREuser=
'유저명';
mysql>
privileges;
이렇게 해주면 외부입력 처리가 됩니다.
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;