ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 210429_1 ~4(Mysql세팅)
    DataBase(Sol)(정리대기중..언젠가) 2021. 4. 29. 12:45

    Oracle

    상업용

    mysql이나 oracle은 모두 oracle사에서 소유권을 가지고있다.

    MariaDB

    Mysql과 동일한 구조를 가지고있음

     

    DBMS = 데이타베이스 관리 시스템 ==> 서버관리서비스 <-sql- 클라이언트 툴 <==유저

                                                         (sql 컴파일 실행)

                                                                  |

                                                        대상 : 데이터베이스


    Mysql

     

    공개용 5.6

    www.oralce.com  에서 커뮤니티버전을 다운로드한다.

    운영체제에 맞는 것으로 zip버전 다운로드했다.

    압축을 풀고 사용하기편한 폴더로 이동시켰다

     

    구동 : bin/mysqld.exe 로 구동하면된다.

    구동하면 실행창이 뜨고 그창은 사용하는 동안에 닫으면 안된다.

     

    로그인 : bin/mysql.exe <==클라이언트 프로그램 (유저가 서버에 접속이 가능하도록함)

    mysql관리자로그인.bat 아래내용으로 배치파일을 만들어 보자

    cd C:\Java_bigdata\mysql-5.6.51-winx64\bin
    mysql -uroot -p mysql

    를 메모장에 넣어서 모든파일/ 이름.bat으로 저장 /.cmd 로 해도됨

     

     

    혹시 MSVCP100.dll 없다고 뜨고 실행이 안되는 사람은

     microsoft visual c++ 2010 재배포를 받아서 설치한다

     

    관리자root로 로그인 하여 일반계정을 만들자

     

    create database javadb;

    로컬에서 접근할때

    grant all privileges on javadb.*to javauser@localhost identified by "1234"; (암호)

    리모트에서접근하도록할때

    grant all privileges on javadb.*to javauser@'%'identified by "1234";

    <===로컬외에 접근가능하게 하는

    select host,user,password from user;  #<===확인

     

    select host,db,user from db; #<===확인


    mysql> create database javadb;
    Query OK, 1 row affected (0.00 sec)

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | javadb             |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    5 rows in set (0.00 sec)
    #모든 권한을 부여하세요 자바디비밑에있는 모든 테이블에 to자바유저에게 로컬호스트에서 접근하는 식별자 1234로
    mysql> grant all privileges on javadb.*to javauser@localhost identified by "1234";
    Query OK, 0 rows affected (0.00 sec)

    mysql> select host,user,password from user;
    +-----------+----------+-------------------------------------------+
    | host      | user     | password                                  |
    +-----------+----------+-------------------------------------------+
    | localhost | root     |                                           |
    | 127.0.0.1 | root     |                                           |
    | ::1       | root     |                                           |
    | localhost |          |                                           |
    | localhost | javauser | *A4B6157319038724E3560894F7F932C8886EBFCF |
    +-----------+----------+-------------------------------------------+
    5 rows in set (0.00 sec)

    //로컬호스트에서 접근하는 자바유저는 암호가 1234이다.

    mysql> select host,db,user form db;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'db' at line 1
    mysql> select host,db,user from db;
    +-----------+---------+----------+
    | host      | db      | user     |
    +-----------+---------+----------+
    | %         | test    |          |
    | %         | test\_% |          |
    | localhost | javadb  | javauser | //로컬호스트에서 접근하는 잡자유저는 자바디비에 접근권한이있습니다
    +-----------+---------+----------+
    3 rows in set (0.00 sec)


    바로적용하기

    위의 설정을 바로 적용하려면. 

    flush privileges;

     

    mysql> use javadb;   ===>디비 변경하기 use 디비명;
    Database changed
    mysql> use mysql;
    Database changed

    일반계정 로그인 배치파일

    cd C:\Java_bigdata\mysql-5.6.51-winx64\bin
    mysql -ujavauser -p1234 javadb

    ----------------userlogin.bat

     


     

    5.7이후 최신버전은

    계정 생성 : create user javauser3 identified by "1234";

    권한 부여 : grant all privileges on javadb to javauser3; <=='%'리모트host

    grant all privileges on javadb to javauser3@localhost;  <=== 로컬host

    권한 적용 : flush privileges;

    비밀번호 재설정

    update user set password = password('1234') where user ='javauser3'; <===로컬일때

     

Designed by Tistory.