Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 루트(root) 사용자 이름을 변경하는 방법

MySQL에서 보안을 강화하기 위해 기본 루트(root) 계정의 사용자 이름을 다른 이름으로 변경하고 싶은 경우가 있습니다. 이 작업은 UPDATESET 명령을 사용하여 간단하게 처리할 수 있습니다.

기본 문법

UPDATE user SET user = '새로운사용자이름' WHERE user = 'root';

1단계: mysql 데이터베이스로 전환

MySQL의 사용자 정보는 mysql 데이터베이스의 user 테이블에 저장되어 있습니다. 먼저 USE 명령으로 해당 데이터베이스에 접속합니다.

mysql> use mysql;
Database changed

2단계: 현재 등록된 사용자 목록 확인

변경 작업 전에 mysql.user 테이블에서 현재 존재하는 모든 사용자를 조회해 보겠습니다.

mysql> select user from mysql.user;

실행 결과는 다음과 같습니다.

+------------------+
| user             |
+------------------+
| Manish           |
| User2            |
| mysql.infoschema |
| mysql.session    |
| mysql.sys        |
| root             |
| Adam Smith       |
| User1            |
| am               |
+------------------+
9 rows in set (0.04 sec)

위 출력 결과에서 사용자 이름이 'root'인 계정을 확인할 수 있습니다.

3단계: UPDATE 명령으로 루트 사용자 이름 변경

이제 UPDATE 명령을 사용하여 사용자 이름 'root''myRoot'로 변경해 보겠습니다.

mysql> update user set user = 'myRoot' where user = 'root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0

4단계: 변경 결과 확인

변경이 정상적으로 적용되었는지 확인하려면 다시 한번 사용자 목록을 조회합니다.

mysql> select user from mysql.user;

실행 결과는 다음과 같습니다.

+------------------+
| user             |
+------------------+
| Manish           |
| User2            |
| myRoot           |
| mysql.infoschema |
| mysql.session    |
| mysql.sys        |
| Adam Smith       |
| User1            |
| am               |
+------------------+
9 rows in set (0.00 sec)

위 표에서 확인할 수 있듯이, 기존의 'root' 사용자 이름이 성공적으로 'myRoot'로 변경되었습니다.

주의 사항

  • MySQL 8.0부터는 권한 테이블이 InnoDB로 관리되므로, 변경 후에는 FLUSH PRIVILEGES; 명령을 실행하여 권한 캐시를 갱신하는 것이 좋습니다.
  • 루트 계정 이름을 변경하기 전에 반드시 해당 계정으로 로그아웃 상태가 아닌지, 그리고 새 이름으로 로그인이 가능한지 충분히 테스트하세요.
  • 실무 환경에서는 루트 이름 변경보다 별도의 관리자 계정을 생성하고 루트 원격 접속을 제한하는 방식이 더 안전하게 권장됩니다.