systemctl stop mysqld # CentOS systemctl stop mysql # UbuntuBash
[root@localhost ~]# systemctl stop mysqld **[root@localhost ~]#**console
/usr/bin/mysqld_safe --skip-grant & /usr/bin/mysqld_safe --skip-grant-tables & Bash
[root@localhost ~]# /usr/bin/mysqld_safe --skip-grant-tables & [1] 32055 Starting mysqld daemon with databases from /var/lib/mysql console
→ 이제 패스워드 없이 mysql에 접속할 수 있게 되었다.[1]
mysql 콘솔로 들어가자.[2]
/usr/bin/mysql -u root mysql Bash
다음 SQL 명령어를 입력하여 원하는 패스워드로 변경한다.
MySQL 5.7.6 이상
ALTER USER 'root'@'localhost' IDENTIFIED BY '패스워드'; mysql
MySQL 5.7.5 이하
- MySQL 5.6에서 성공 ★SET PASSWORD FOR 'root'@'localhost' = PASSWORD('패스워드');
- MySQL 5.7 이상UPDATE mysql.user SET authentication_string=PASSWORD('패스워드') WHERE user='root' AND Host='localhost'; FLUSH PRIVILEGES;
- MySQL 5.7 미만UPDATE mysql.user SET password=PASSWORD('패스워드') WHERE user='root' AND Host='localhost'; FLUSH PRIVILEGES;
실행 예시