Thief of Wealth
Published 2019. 3. 10. 21:58
mysql 기초. 개발/Web Programming


1. ubuntu myspl 설치

sudo apt-get update

sudo apt-get install mysql-server


설치할때 root 비밀번호 입력하는 창이 뜬다고 하는데, 나는 전혀 그런게 없었고,



재설치를 했다.



2. ubuntu mysql 삭제


sudo apt-get purge mysql-server

sudo apt-get purge mysql-common

sudo apt-get purge mysql-client


rm -rf /var/log/mysql

rm -rf /var/lib/mysql

rm -rf /etc/mysql


로 제거.



3. 로그인

sudo mysql -u root -p


하면 비밀번호 창이 뜨는데, 설치과정에서 입력해준 비밀번호를 입력한다.

설치과정에서 비밀번호가 뜨지 않았다면, 기본값이 엔터이다.

만약에 그것도 안된다면 아래 비밀번호 변경법을 참고.


4. root 및 유저 비밀번호 제어


sudo mysqld-safe --skip-grant-tables&

sudo mysql --user=root mysql 로 강제접속

mysql> update user set authentication_string=PASSWORD('new-password') where user='root';

flush privileges;

quit

sudo service mysql restart

sudo mysql -u root -p

exit


이게 안된다면,


mysqladmin -u root -p password 'new-password'


or


mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');


or


mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';


or


들을 써서 변경시켜줘보자.



5. 사용자 추가/삭제


GRANT ALL PRIVILEGES ON dbname.* TO 'username'@localhost IDENTIFIED BY 'password';

username이라는 사용자를 생성하고 비밀번호는 password, dbname이라는 DB에 모든 권한을 가지고 있다.


localhost빼고 다른 곳에서도 접속 가능하게 하려면

GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'%'localhost IDENTIFIED BY 'password';





6. 데이터베이스 생성


CREATE DATABASE dbname;


DB리스트보기 => SHOW DATABASES;


DB 사용선언 => USE dbname;


DB 삭제 => DROP DATABASE [IF EXISTS] dbname;


아래는 추가 설명을 퍼왔다.



Sourced By http://egloos.zum.com/kwon37xi/



테이블 생성/보기


  • 테이블을 생성하고,
    mysql> CREATE TABLE tablename (
    column_name1 INT,
    column_name2 VARCHAR(15),
    column_name3 INT );

  • 현재 데이타베이스의 테이블 목록을 보고
    mysql> SHOW TABLES;

  • 테이블 구조를 살펴본다.
    mysql> EXPLAIN tablesname;
    혹은
    mysql> DESCRIBE tablename;

  • 이름을 잘못 지정했으면 이름을 변경할 수도 있다.
    mysql> RENAME TABLE tablename1 TO tablename2[, tablename3 TO tablename4];

  • 필요 없으면 삭제한다.
    mysql> DROP TABLE [IF EXISTS] tablename;



현재 상태 보기


mysql> status

--------------
mysql Ver 11.18 Distrib 3.23.58, for pc-linux (i686)

Connection id: 26
Current database: study
Current user: study@localhost
Current pager: stdout
Using outfile: ''
Server version: 3.23.58
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: euc_kr
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 2 hours 9 min 59 sec

Threads: 1 Questions: 160 Slow queries: 0 Opens: 28 Flush tables: 1
Open tables: 1 Queries per second avg: 0.021
--------------



INSERT

mysql> INSERT INTO tablename VALUES(값1, 값2, ...);

혹은

mysql> INSERT INTO tablename (col1, col2, ...) VALUES(값1, 값2, ...);



SELECT

mysql> SELECT col1, col2, ... FROM tablename;


컬럼명을 *로 하면 모든 컬럼 의미.

mysql> SELECT col1 AS '성명', col2 AS '국어점수' FROM grade;


컬럼의 이름을 바꿔서 출력.

mysql> SELECT * FROM tablename ORDER BY col1 DESC;
mysql> SELECT col1, korean + math english AS '총점' FROM tablename ORDER BY '총점' ASC;


DESC는 내림차순 ASC는 오름차순.

mysql> SELECT * FROM grade WHERE korean < 90;


조건줘서 SELECT.

mysql> SELECT * FROM grade LIMIT 10;


결과중 처음부터 10개만 가져오기

mysql> SELECT * FROM grade LIMIT 100, 10;


결과중 100번째부터 10개만 가져오기. 첫번째 레코드는 0번 부터 시작한다.

UPDATE

mysql> UPDATE tablename SET col1=새값 WEHER 조건



DELETE

mysql> DELETE FROM tablename WEHRE 조건



mysql에서 쿼리 결과 세로로 보기
-E 옵션을 줘서 실행한다.

$ mysql -E -u root -p mysql



mysql에서 발생한 오류나 경고 다시 보기

mysql> show errors;
mysql> show warnings;



'개발 > Web Programming' 카테고리의 다른 글

[JSP] 관련 개발관련하여  (0) 2019.03.12
[Mysql] 예제  (0) 2019.03.10
웹프로그래밍 하면서 너무 화나는 점.  (1) 2019.03.06
[Bootstrap] Float  (0) 2019.03.05
[Bootstrap] table정리  (0) 2019.03.05
profile on loading

Loading...