MySQL 읽기전용 유저 생성
셀렉트만 가능한 유저를 생성하는 방법입니다.
다른 용도로도 사용을 하겠지만, 주 용도가 데이터 변경이 되면 안되는 Replication Slave 서버를 핸들링할때 사용합니다.
GRANT SELECT ON *.* to 'readuser'@'%' IDENTIFIED BY 'readonly'
*.* 대신에 접근가능한 database명을 지정해도 됩니다.
한번 테스트를 해보겠습니다. ( delete, update, insert )
# mysql -ureaduser -preadonly
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 58
Server version: 5.5.52-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use testdb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [testdb]> select * from test_table4;
+-----+-------+
| idx | title |
+-----+-------+
| 1 | 111 |
| 2 | 222 |
| 3 | 333 |
+-----+-------+
3 rows in set (0.00 sec)
MariaDB [testdb]> delete from test_table4 where idx = 3;
ERROR 1142 (42000): DELETE command denied to user 'readuser'@'localhost' for table 'test_table4'
MariaDB [testdb]> update test_table4 set title='444' where idx = 4;
ERROR 1142 (42000): UPDATE command denied to user 'readuser'@'localhost' for table 'test_table4'
MariaDB [testdb]> insert into test_table4 value (4,444);
ERROR 1142 (42000): INSERT command denied to user 'readuser'@'localhost' for table 'test_table4'
셀렉트는 가능하지만 삭제, 수정, 추가 기능은 에러가 뜨는 것을 확인할 수 있습니다.
'LINUX' 카테고리의 다른 글
리눅스 SSH 특정 계정만 접속 허용하기 (0) | 2017.03.23 |
---|---|
DNSLOOKUP 명령어로 TTL 정보 알아내기 (0) | 2017.03.21 |
리눅스 쉘스크립트 문자열 치환 (0) | 2017.03.17 |
리눅스 쉘스크립트 배열 비교 (0) | 2017.03.17 |
MySQL checksum tables 비교 쉘스크립트 (0) | 2017.03.17 |