-
MariaDB 10.5 초기 설치 후에 root 비밀번호 설정하기Mac 2021. 1. 21. 22:06
Mariadb 10.5에서는 설치후에 비번을 바꾸기 위해서 mysql -uroot 와 같은 방법으로 접속할 필요가 없고
mysql 이라는 명령으로 비번이 없이 그냥 root mode로 접속이 됩니다.
보안측면에서 많이 당황스럽지만, 그만큼 보안은 알아서 챙기라는 의미가 되는 것이 아닐까요?
그.런.데. 비번 바꾸는 명령을 실행하니 오류가 나오는데
mariadb의 root 비번 바꾸기 문서를 찾아서 해봐도 오류가 그대로 나옵니다.
oneboard@oneboarcBookPro ~ % mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 16 Server version: 10.5.8-MariaDB Homebrew Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use mysql; 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 [mysql]> update user set password=PASSWORD('password') where User='root'; ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
그래서 위에서 나온 오류 메시지를 구글에 넣었더니, user가 테이블이 아니라 view가 되었다고 하네요. ㅠㅠ...
MariaDB-10.4+ the mysql.user is a view rather than a table. Its recommend to stop copying off old blogs to do any authentication relates changes in MySQL and MariaDB, the mechanisms are being updated and no longer apply. Always check the official documentation. Use SET PASSWORD or ALTER USER to manage user authentication. Also modifying a user/host component of the username will put triggers, events, plugins, grants, roles etc out of sync with the combined username (aka broken). So just DROP/CREATE users rather than manipulate them.
비번을 SET PASSWORD 명령으로 바꾸라고 하네요.
SET PASSWORD [FOR user] = { PASSWORD('some password') | OLD_PASSWORD('some password') | 'encrypted password' }
SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');
mariadb.com/kb/en/mysqluser-table/
그.런.데... 안된다... ㅠㅠ...
MariaDB [mysql]> set password for 'root'@'localhost' = PASSWORD('password'); Query OK, 0 rows affected (0.011 sec)
진짜??? 실제로는 명령이 먹히고 있었습니다.
DB에 영향을 미친 row가 0개라는 것은 단순한 메시지일 뿐.
이거를 몰라서 며칠을 날려버림. ㅠㅠ...
MariaDB [mysql]> set password for root@'localhost' = PASSWORD('password1'); Query OK, 0 rows affected (0.015 sec) MariaDB [mysql]> flush privileges ; Query OK, 0 rows affected (0.002 sec) MariaDB [mysql]> quit
DB 접속후에 사용자 테이블을 보면 ... @localhost 라는 계정이 있어서
root로 비번 없이 그냥 들어갔던 것 입니다.
서버로 쓰려면 @로 시작하는 계정 2개는 지워야 합니다.
Sequel Pro를 이용해서 oneboard 계정을 생성하고 DB에 접속하려고 하면 접속 오류가 나옵니다.
root의 경우와 같이 계정의 비번이 설정되지 않았기에
mysql로 접속해서 계정의 비번을 만들어줘야 GUI 툴 접속이 가능해 집니다. ㅠㅠ...
oneboard@oneboarcBookPro ~ % mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 17 Server version: 10.5.8-MariaDB Homebrew Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use mysql 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 [mysql]> set password for oneboard@'localhost' = PASSWORD('password1'); Query OK, 0 rows affected (0.011 sec) MariaDB [mysql]> flush privileges ; Query OK, 0 rows affected (0.001 sec)
Sequel Pro의 접속을 하기 위해서 투닥투닥 거리다가 이틀이 날라갔네요
MariaDB 10.5의 사용자 관리에 대한 부분은 고민이 많이 필요한 것 같습니다.
반응형'Mac' 카테고리의 다른 글
윈도 사용자의 시련? Documents 디렉토리 위로는 이동이 안된다... (0) 2021.01.23 mac에 redis 설치하기 (0) 2021.01.22 mac에서 사용가능한 GUI DB 관리 도구 (0) 2021.01.21 MacBook 한영전환 (0) 2021.01.20 mac에서 경로변수 $PATH 설정하기 (0) 2021.01.19