db 연결 이전에 설치 및 서버실행을 해야합니다!
Homebrew로 macOS에 MariaDB Server 설치
brew install mariadb
로 설치합니다.
mysql
이 설치되어 있다면 다음과 같은 오류가 뜰 수 있습니다.brew unlink mysql
후 다시 설치를 시도하면 정상적으로 완료됩니다.설치가 완료되면 mysql.server start
하지만 저는 안되는 군요... 해결 중..
mysql_secure_install
로 보안 설정합니다.
y
선택하면 됩니다.y
체크 하였습니다.생성을 위해 mysql -uroot -p[설정한 비밀번호-없으면 생략]
로 접속합니다.
create user '[유저명]'@'[호스트]' identified by [비밀번호];
으로 사용자 생성
MariaDB [mysql]> create user 'dev'@'localhost' identified by 'dev';
Query OK, 0 rows affected (0.021 sec)
MariaDB [mysql]> select host, user, password from user;
+-----------+-------------+-------------------------------------------+
| Host | User | Password |
+-----------+-------------+-------------------------------------------+
| localhost | mariadb.sys | |
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| localhost | jisukim | invalid |
| localhost | test | *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 |
| % | test | |
| localhost | dev | *27AEDA0D3A56422C3F1D20DAFF0C8109058134F3 |
+-----------+-------------+-------------------------------------------+
6 rows in set (0.002 sec)
[host]
localhost
- localhost에서 접속만 가능%
- 모든 외부 접속을 허용ip 주소
- 특정 ip만 허용grant [권한] on [스키마].[테이블] to '[유저명]'@'[호스트]' identified by [비밀번호];
권한
all privileges
- 모든 권한 허용with grant option
을 붙이면 grant 권한도 허용.grant all privileges on dev.* to 'dev'@'localhost' with grant option;
Query OK, 0 rows affected (0.019 sec)
MariaDB [(none)]> show grants for dev@localhost;
+------------------------------------------------------------------------------------------------------------+
| Grants for dev@localhost |
+----s--------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `dev`@`localhost` IDENTIFIED BY PASSWORD '*27AEDA0D3A56422C3F1D20DAFF0C8109058134F3' |
| GRANT ALL PRIVILEGES ON `dev`.* TO `dev`@`localhost` WITH GRANT OPTION |
+------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)
grant all on [스키마].[테이블] to '[유저명]'@'[호스트]';
mySQL8 이상부터 all privileges
를 all
로도 사용 가능.
MariaDB [mysql]> grant all on dev.* to 'test'@localhost;
Query OK, 0 rows affected (0.019 sec)
MariaDB [mysql]> show grants for test@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for test@localhost |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `test`@`localhost` IDENTIFIED BY PASSWORD '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' |
| GRANT ALL PRIVILEGES ON `dev`.* TO `test`@`localhost` |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)
create database [database name];
으로 DB 생성show databases;
로 생성된 DB 확인use [database name];
으로 선택