MySQL 루트 비밀번호를 재설정하거나 변경하는 방법은 무엇입니까?
우분투 서버에서 MySQL 루트 암호와 사용자 이름을 어떻게 변경합니까? 변경 사항을 설정하기 전에 mysql 서비스를 중지해야합니까?
phpmyadmin 설정도 있는데 phpmyadmin이 자동으로 업데이트됩니까?
Ubuntu Linux에서 MySQL 루트 비밀번호를 설정 / 변경 / 재설정합니다. 터미널에 다음 줄을 입력하십시오.
- MySQL 서버를 중지하십시오.
sudo /etc/init.d/mysql stop
mysqld
구성을 시작하십시오 .sudo mysqld --skip-grant-tables &
어떤 경우에는
/var/run/mysqld
첫 번째 를 만들어야합니다 .sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
루트로 MySQL에 로그인하십시오.
mysql -u root mysql
YOURNEWPASSWORD
새 비밀번호로 교체하십시오 .UPDATE mysql.user SET Password = PASSWORD('YOURNEWPASSWORD') WHERE User = 'root'; FLUSH PRIVILEGES; exit;
참고 : 일부 버전에서
password
열이 존재하지 않으면 다음을 시도해보십시오.
UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';
참고 :이 방법은 비밀번호를 재설정하는 가장 안전한 방법으로 간주되지 않지만 작동합니다.
참고 문헌 :
우분투 서버에서 루트 암호를 재설정하는 공식적이고 쉬운 방법 ...
16.04, 14.04, 12.04 인 경우 :
sudo dpkg-reconfigure mysql-server-5.5
10.04 인 경우 :
sudo dpkg-reconfigure mysql-server-5.1
어떤 mysql-server 버전이 설치되어 있는지 잘 모르는 경우 다음을 시도해보십시오.
dpkg --get-selections | grep mysql-server
mysql-server-5.7에 대한 업데이트 된 노트
mysql-server-5.7을 사용하는 경우 위에 표시된 더 쉬운 dpkg-reconfigure 방법을 사용할 수 없습니다.
비밀번호를 알고 있으면 로그인하여 다음을 실행하십시오.
UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;
또는 다음을 사용할 수 있습니다.
sudo mysql_secure_installation
새 루트 암호를 제공하려는 경우를 포함하여 설치 보안 (권장)에 관한 일련의 질문을합니다.
루트 암호를 모르는 경우 프로세스에 대한이 우분투 중심 쓰기를 참조하십시오 .
자세한 내용은 다음을 참조하십시오.
https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html
나를 위해 일한 유일한 방법은 여기에 설명 된 방법입니다 (우분투 14.04를 실행 중입니다). 명확성을 기하기 위해 다음 단계는 다음과 같습니다.
sudo vim /etc/mysql/my.cnf
끝에 다음 줄을 추가하십시오.
[mysqld] 스킵 그랜트 테이블
sudo service mysql restart
mysql -u root
use mysql
select * from mysql.user where user = 'root';
-상단을보고 비밀번호 열이 password 또는 authentication_string 인지 확인하십시오.UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost';
-위에서 올바른 비밀번호 열을 사용하십시오.FLUSH PRIVILEGES;
exit
sudo vim /etc/mysql/my.cnf
보안 표준을 유지하려면 2 단계에서 추가 한 라인을 제거하십시오 .
sudo service mysql restart
참조 : https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
Linux Ubuntu에서 MySQL 비밀번호를 재설정하는 단계별 최종 솔루션을 공유하고 있습니다.
1 단계 : MySQL 서비스를 중지합니다.
sudo stop mysql
2 단계 : 실행중인 모든 mysqld를 종료합니다.
sudo killall -9 mysqld
3 단계 : 안전 모드에서 mysqld 시작
sudo mysqld_safe --skip-grant-tables --skip-networking &
4 단계 : MySQL 클라이언트 시작
mysql -u root
5 단계 : 로그인에 성공하면이 명령을 실행하여 비밀번호를 변경하십시오.
FLUSH PRIVILEGES;
6 단계 : mysql 루트 비밀번호를 업데이트 할 수 있습니다.
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
참고 : MySQL 5.7에서는 열 Password
이 호출 authentication_string
됩니다.
7 단계 :이 명령을 실행하십시오.
FLUSH PRIVILEGES;
나를 위해 일한 것 (Ubuntu 16.04, mysql 5.7) :
MySQL 중지
sudo service mysql stop
MySQL 서비스 디렉토리를 만듭니다.
sudo mkdir /var/run/mysqld
MySQL 사용자에게 서비스 디렉토리에 쓸 수있는 권한을 부여하십시오.
sudo chown mysql: /var/run/mysqld
권한 확인이나 네트워킹없이 MySQL을 수동으로 시작하십시오.
sudo mysqld_safe --skip-grant-tables --skip-networking &
다른 콘솔에서 비밀번호없이 로그인하십시오.
mysql -uroot mysql
그때:
UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
EXIT;
MySQL을 끕니다.
sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
MySQL 서비스를 정상적으로 시작하십시오.
sudo service mysql start
MySQL 루트 비밀번호를 변경하십시오.
이 메소드는 비밀번호를 명령 행 히스토리에 노출하므로이 명령은 루트로 실행해야합니다.
mysql 명령 줄 도구를 통해 로그인하십시오.
mysql -uroot -poldpassword
이 명령을 실행하십시오 :
SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');
또는
현재 사용자의 비밀번호 (이 경우 'root')를 설정하는이 명령을 실행하십시오.
비밀번호 설정 = 비밀번호 ( 'newpassword');
우분투 18.04 및 mysql 5.7에서 문제가 발생했습니다. 이것이 해결책입니다.
comands를 실행하기 전에 mysql-server를 다시 시작하십시오.
sudo service mysql restart
MYSQL-SERVER> = 5.7
sudo mysql -uroot -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;
MYSQL- 서버 <5.7
sudo mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;
MySQL 루트 비밀번호를 변경하려면 터미널에 다음을 입력하십시오.
sudo dpkg-reconfigure mysql-server-5.5
MySQL 데몬이 중지되고 새 비밀번호를 입력하라는 메시지가 표시됩니다.
이것은 우분투 16.04에 대한 매력처럼 작동합니다. 내가 거기에서 얻었을 때 아래 링크에 대한 완전한 크레딧. [ https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts][1]
MySQL 중지
sudo service mysql stop
MySQL 서비스 디렉토리를 만듭니다. sudo mkdir / var / run / mysqld
MySQL 사용자에게 서비스 디렉토리에 쓸 수있는 권한을 부여하십시오.
sudo chown mysql: /var/run/mysqld
권한 확인이나 네트워킹없이 MySQL을 수동으로 시작하십시오.
sudo mysqld_safe --skip-grant-tables --skip-networking &
비밀번호없이 로그인하십시오.
mysql -uroot mysql
루트 사용자의 비밀번호를 업데이트하십시오. atleast root 계정이 아래 쿼리에 의해 업데이트되는지 확인하십시오. 원하는 경우 선택하고 기존 값을 확인하십시오.
UPDATE mysql.user SET
authentication_string=PASSWORD('YOURNEWPASSWORD'),
plugin='mysql_native_password' WHERE User='root';
EXIT;
MySQL을 끕니다.
sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
MySQL 서비스를 정상적으로 시작하십시오.
sudo service mysql start
MySQL sudo 서비스 중지 mysql stop
MySQL 서비스 디렉토리를 만듭니다. sudo mkdir / var / run / mysqld
MySQL 사용자에게 서비스 디렉토리에 쓸 수있는 권한을 부여하십시오. sudo chown mysql : / var / run / mysqld
권한 확인이나 네트워킹없이 MySQL을 수동으로 시작하십시오. sudo mysqld_safe --skip-grant-tables --skip- 네트워킹 &
5. 비밀번호없이 로그인하십시오. mysql -uroot mysql
6. 루트 사용자의 비밀번호를 업데이트하십시오.
업데이트 mysql.user SET authentication_string = PASSWORD ( 'YOURNEWPASSWORD'), plugin = 'mysql_native_password'WHERE User = 'root'AND Host = '%'; 출구;
MySQL을 끕니다. sudo mysqladmin -S /var/run/mysqld/mysqld.sock 종료
MySQL 서비스를 정상적으로 시작하십시오. sudo 서비스 mysql 시작
이것이 나를위한 해결책입니다. 우분투 18.04에서 일합니다 : https://stackoverflow.com/a/46076838/2400373
그러나 마지막 단계에서이 변경이 중요합니다.
UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
이 솔루션은 이전 버전의 MySQL에 속합니다. 소켓 인증을 사용하여 MySQL에 로그인하면 가능합니다.
sudo mysql -u root
그런 다음 다음 명령을 실행할 수 있습니다.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
자세한 내용은 여기를 참조하십시오 .
rogerdpack의 의견 에코 : MySQL 루트 비밀번호를 모르고 MySQL 데이터 / 설정에 관심이없는 경우 다음과 같이 다시 설치하고 루트 비밀번호를 재설정 할 수 있습니다.
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get install -y mysql-server mysql-client
설치 중에 루트 비밀번호를 선택할 수 있습니다.
Ubuntu 18.04 및 mysql 버전 14.14 Distrib 5.7.22의 경우 아래 단계에 따라 mysql 비밀번호를 재설정하십시오.
1 단계
sudo systemctl stop mysql
2 단계
sudo systemctl edit mysql
이 명령은 nano 편집기에서 새 파일을 열고 MySQL의 서비스 재정의를 편집하는 데 사용합니다. 이것들은 MySQL의 기본 서비스 매개 변수를 변경합니다. 이 파일은 비어 있으므로 다음 내용을 추가하십시오.
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking
3 단계
sudo systemctl daemon-reload
sudo systemctl start mysql
4 단계
sudo mysql -u root
5 단계
FLUSH PRIVILEGES;
6 단계
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';
7 단계
UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';
8 단계
sudo systemctl revert mysql
그리고 마지막으로
sudo systemctl restart mysql
이제 즐기세요
현재 비밀번호를 알고 있다면 mysql 서버를 중지하지 않아도됩니다. 우분투 터미널을 엽니 다. 다음을 사용하여 mysql에 로그인하십시오.
mysql - username -p
그런 다음 비밀번호를 입력하십시오. mysql 콘솔로 이동합니다. 콘솔 안에 다음을 입력하십시오.
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
그런 다음 다음을 사용하여 권한을 플러시하십시오.
> flush privileges;
그런 다음 모두 끝났습니다.
PASSWORD()
비밀번호를 변경하려는 시스템에서 MySQL을 사용 하는 경우 비밀번호가 일반 텍스트 [ source ] 로 MySQL 로그에 표시 될 수 있습니다 . 암호와 같은 보안, 백업 등을 유지하는 것은 나에게 악몽처럼 들리므로 다음과 같이하고 싶습니다.
당신에 지역 기계, 비밀번호로 이것을 실행 :
mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');")
bash 기록에서 공간이 켜지지 않도록 앞의 공간을 확인하십시오 (Ubuntu 이외의 다른 배포판의 경우 소스가 다르게 작동 할 수 있음 ).
서버 시스템에서 다음 명령을 실행하여 MySQL 루트 비밀번호를 변경
myhash
하십시오 (첫 번째 명령으로 인쇄 된 비밀번호 해시로 대체 ).mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';")
선택적으로 약간의 편집증을 보자. 로컬 컴퓨터에서 터미널 화면을 지우고
clear
가상 터미널 스크롤 백을 제거하여 위 명령에 나타나는 일반 텍스트 암호를 숨기십시오.
"루트"MySQL 사용자 비밀번호를 업데이트하려면 그에 대한 수퍼 유저 권한이 필요하다는 것을 명심해야합니다. 수퍼 유저 권한이있는 경우 다음 명령을 시도하십시오.
MySQL 5.7.6 이상
sudo su
service mysql stop
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
\q;
exit
mysql -u root -p MyNewPass
MySQL 5.7.5 이하
sudo su
service mysql stop
mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
\q;
exit
mysql -u root -p MyNewPass
이 모든 것이 필요하지 않습니다. 간단히 로그인하십시오 :
mysql -u root -p
그런 다음 mysql>
프롬프트 로 현재 사용자의 비밀번호를 변경하십시오 .
mysql> set password=password('the_new_password');
mysql> flush privileges;
phpmyadmin
비밀번호 또는 사용자 이름을 제공하지 않고 연결하도록 설정 한 경우 비밀번호를 재설정하는 대신 로컬 시스템에 대한 해결 방법 이 있습니다. 시작하여이 체크 아웃 mysql
, apache
내가 한 등 xampp
내 로컬 컴퓨터에 설치되어 있어야합니다. 따라서 xampp를 시작하면 필요한 모든 서비스가 시작됩니다. 이제 http://localhost/phpmyadmin
모든 데이터베이스 를 보여 드리겠습니다. phpmyadmin
설치 위치 에서 찾을 수있는 phpmyadmin의 구성 파일에 사용자 이름과 암호를 저장했음을 확인합니다 . xampp
설치 한 phpmyadmin
폴더 는 설치 루트 폴더에 xampp
있습니다. 파일 에서 단어 password
를 검색 config.inc.php
하십시오. 거기에서 password
및 을 찾을 수 있습니다 username
.
제공된 phpadmin gui를 통해 xampp에 배포 된 경우 mysql 비밀번호를 쉽게 변경할 수 있습니다.
phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab)
mysql 5.6의 경우이 명령이 작동하며 마법사를 통해 비밀번호를 설정할 수 있습니다.
sudo dpkg-reconfigure mysql-server-5.6
mysql 5.7 루트 암호를 재설정하려면 다음 단계를 시도하십시오.
MySQL 서비스 중지 1
sudo /etc/init.d/mysql stop
비밀번호없이 루트로 로그인 sudo mysqld_safe --skip-grant-tables
&
mysql 터미널에 로그인 한 후 명령을 더 실행해야합니다.
use mysql;
UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';
flush privileges;
sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
mysql 서버를 다시 시작한 후에도 여전히 오류가 발생하면 다음을 방문해야합니다 : Reset MySQL 5.7 root password Ubuntu 16.04
이 명령을 사용할 수 있습니다 :
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
그 후 플러시를 사용하십시오 :
FLUSH PRIVILEGES;
MySQL 비밀번호 설정
- MySQL 데이터베이스 서비스 중지
sudo /etc/init.d/mysql 중지
- 새로운 mysqld 디렉토리를 만든다
sudo mkdir / var / run / mysqld /
- mysql 사용자에게 액세스 권한 부여
sudo chown mysql / var / run / mysqld /
- 안전 모드에서 MySQL을 시작하십시오 ...
sudo mysqld_safe --skip-grant-tables &
- logon to the database server without a password
sudo mysql -u root
- use the default mysql database
use mysql;
- change the root password
update user set authentication_string=PASSWORD("New_Passwore_Here") where
User='root';
Save the changes
flush privileges; exit;
stop MySQL safe_mode and start MySQL default service
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
- log back onto MySQL database using the root new password
sudo mysql -u root -p
*** Source : https://websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/
when changing/resetting the MySQL password the following commands listed above did not help. I found that going into the terminal and using these commands is pointless. instead use the command sudo stop everything. DELETE SYSTEM 32 for windows if that helps.
To reset or change the password enter sudo dpkg-reconfigure mysql-server-X.X
(X.X is mysql version you have installed i.e. 5.6, 5.7) and then you will prompt a screen where you have to set the new password and then in next step confirm the password and just wait for a moment. That's it.
I had to go this route on Ubuntu 16.04.1 LTS. It is somewhat of a mix of some of the other answers above - but none of them helped. I spent an hour or more trying all other suggestions from MySql website to everything on SO, I finally got it working with:
Note: while it showed Enter password for user root, I didnt have the original password so I just entered the same password to be used as the new password.
Note: there was no /var/log/mysqld.log only /var/log/mysql/error.log
Also note this did not work for me:
sudo dpkg-reconfigure mysql-server-5.7
Nor did:
sudo dpkg-reconfigure --force mysql-server-5.5
Make MySQL service directory.
sudo mkdir /var/run/mysqld
Give MySQL user permission to write to the service directory.
sudo chown mysql: /var/run/mysqld
Then:
- kill the current mysqld pid
- run mysqld with sudo /usr/sbin/mysqld &
run /usr/bin/mysql_secure_installation
Output from mysql_secure_installationroot@myServer:~# /usr/bin/mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No: no Using existing password for root. Change the password for root ? ((Press y|Y for Yes, any other key for No) : y
New password:
Re-enter new password: By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Success.
Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Success.
By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Dropping test database... Success.
Removing privileges on test database... Success.
Reloading the privilege tables will ensure that all changes made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success.
All done!
As mysql documentation on the password() function says:
This function was removed in MySQL 8.0.11.
This invalidates pretty much all existing answers for mysql v8.0.11 and newer.
Per mysql documentation the new generic way to reset the root password is as follows:
The preceding sections provide password-resetting instructions specifically for Windows and Unix and Unix-like systems. Alternatively, on any platform, you can reset the password using the mysql client (but this approach is less secure):
Stop the MySQL server if necessary, then restart it with the --skip-grant-tables option. This enables anyone to connect without a password and with all privileges, and disables account-management statements such as ALTER USER and SET PASSWORD. Because this is insecure, if the server is started with the --skip-grant-tables option, it enables --skip-networking automatically to prevent remote connections.
Connect to the MySQL server using the mysql client; no password is necessary because the server was started with --skip-grant-tables:
shell> mysql
In the mysql client, tell the server to reload the grant tables so that account-management statements work:
mysql> FLUSH PRIVILEGES;
Then change the 'root'@'localhost' account password. Replace the password with the password that you want to use. To change the password for a root account with a different host name part, modify the instructions to use that host name.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
You should now be able to connect to the MySQL server as root using the new password. Stop the server and restart it normally (without the --skip-grant-tables and --skip-networking options).
Change the MySQL root password. In Simpler way
All these commands should be run as root.
Login through MySQL command line tool using your old password:
Step-1
mysql -uroot -p"your_old_password"
Then run below command:
Step-2
SET PASSWORD FOR root@'localhost' = PASSWORD('your_new_password');
Method-2 (First login using your old password using above command)
현재 사용자의 비밀번호를 설정하는이 명령을 실행하십시오.
SET PASSWORD = PASSWORD('your_new_password');
위 명령은 현재 사용자를위한 것입니다. 다른 사용자의 비밀번호를 변경하려면 "root" 대신 사용자 이름을 입력하십시오 .
'루트'사용자 비밀번호를 알고 있다면 해당 자격 증명으로 mysql에 로그인하십시오. 그런 다음 다음 쿼리를 실행하여 비밀번호를 업데이트하십시오.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';
참고 URL : https://stackoverflow.com/questions/16556497/how-to-reset-or-change-the-mysql-root-password
'Programing' 카테고리의 다른 글
'지도'속성이 '관찰 가능'유형에 없습니다. (0) | 2020.06.02 |
---|---|
Android Lollipop CardView의 파급 효과 (0) | 2020.06.02 |
루비의 숨겨진 기능 (0) | 2020.06.02 |
스택 오버플로를 일으키는 가장 짧은 코드는 무엇입니까? (0) | 2020.06.02 |
Xcode 7의 "변환 전용 레이어에서 속성 masksToBounds를 변경해도 아무런 영향을 미치지 않습니다" (0) | 2020.06.02 |