MariaDb 내맘대로 정리

Jimin·2023년 2월 2일
0

mariadb 설치 및 설정

mariadb 설치

[windows OS]
scoop 패키지 관리자를 이용하여 mariadb 설치
> scoop install mariadb

서비스에 등록
    mysqld --install "서비스명"
> mysqld --install "mariadb"

서비스 시작
    net start 서비스명
> net start mariadb    (windows)

서비스 종료
    net stop 서비스명
> net stop mariadb

[mac]
mariadb 설치
> brew install mariadb

mariadb 설치 후 root 암호 변경
> sudo mysql_secure_installation

mariadb 실행
> brew services start mariadb
> brew services stop mariadb
또는
> mysql.server start
> mysql.server stop

[linux]
mariadb 설치
> sudo apt update
> sudo apt install mariadb-server
> sudo systemctl status mariadb
> mysql -V

mariadb 설치 후 root 암호 변경
> sudo mysql_secure_installation

mariadb 실행
> service mariadb start
> service mariadb stop
> service mariadb status

mysql 서버에 접속하기

로컬 MySQL 서버에 접속

mysql -u root -p
Enter password: 암호입력

root 사용자 접근 거부 오류 발생시(linux)

일단 권한 검사를 하지 않는 모드로 MariaDB를 실행한다.

$ sudo mysqld_safe --skip-grant-tables

root 사용자가 로컬호스트에서 접근할 수 있도록 설정을 변경한다.

$ sudo mysql -u root -p   <--- MariaDB 서버에 접속한다.
> GRANT ALL PRIVILEGES on *.* to 'root'@'localhost' IDENTIFIED BY '<password>';
> FLUSH PRIVILEGES;

만약, 위의 명령이 실행되지 않으면, 다음 명령을 실행한다.

> UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';
> FLUSH PRIVILEGES;
> exit

다시 명령 프롬프트로 나와 MariaDB 를 실행 종료한다.

$ ps -el | grep mysql    <--- 현재 실행 중인 MariaDB 프로세스를 알아낸다.
$ sudo kill 프로세스번호   <--- 모든 MariaDB 프로세스를 종료한다.

그리고 다시 정식으로 MariaDB 서버를 실행한다.

$ service mariadb start

원격 MySQL 서버에 접속

mysql -h 서버주소 -u root -p
Enter password: 암호입력

mysql root 암호 변경

alter user 'root'@'localhost' identified by '1111';

MySQL 사용자 추가

CREATE USER '사용자아이디'@'원격호스트주소' IDENTIFIED BY '암호';

로컬에서만 접속할 수 있는 사용자를 만들기:

CREATE USER 'study'@'localhost' IDENTIFIED BY '1111';
=> 이 경우 study 사용자는 오직 로컬(서버를 실행하는 컴퓨터)에서만 접속 가능한다.
=> 다른 컴퓨터에서 실행하는 MySQL 서버에 접속할 수 없다는 것을 의미한다.

원격에서만 접속할 수 있는 사용자를 만들기:

CREATE USER 'study'@'%' IDENTIFIED BY '1111';
=> 이 경우 study 사용자는 원격에서만 접속 가능하다.

MySQL 사용자 목록 조회

select user, host from 데이터베이스명.테이블명;
select user, host from mysql.user;

MySQL 사용자 삭제

DROP USER '아이디'@'원격호스트주소';
DROP USER 'study'@'localhost';

MySQL 데이터베이스 생성

mariadb에서는 default 키워드를 사용하지 않는다.

CREATE DATABASE 데이터베이스명 CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE studydb CHARACTER SET utf8 COLLATE utf8_general_ci;

MySQL 데이터베이스 삭제

DROP DATABASE 데이터베이명;
DROP DATABASE studydb;

MySQL 사용자에게 데이터베이스 사용 권한 부여

GRANT ALL ON 데이터베이스명. TO '사용자아이디'@'서버주소';
GRANT ALL ON studydb.
TO 'study'@'localhost';

데이터베이스 목록 조회

show databases;

사용자 교체

quit or exit (프로그램 종료 후)
mysql -u study -p (다시 실행)

기본으로 사용할 데이터베이스 지정하기

use 데이터베이스명
use studydb;

데이터베이스의 전체 테이블 목록 조회

show tables;

연습

사용자 생성 : user1
user1이 사용할 데이터베이스 생성: user1db

사용자 생성 : user2
user2가 사용할 데이터베이스 생성: user2db

사용자 생성 : user3
user3이 사용할 데이터베이스 생성: user3db

사용자 생성 : user4
user4가 사용할 데이터베이스 생성: user4db

사용자 생성 : user5
user5가 사용할 데이터베이스 생성: user5db
profile
https://github.com/Dingadung

0개의 댓글