ฉันจะเปลี่ยนรหัสผ่านรูท MySQL และชื่อผู้ใช้ในเซิร์ฟเวอร์อูบุนตูได้อย่างไร ฉันจำเป็นต้องหยุดบริการ mysql ก่อนที่จะทำการเปลี่ยนแปลงใด ๆ หรือไม่?
ฉันมีการติดตั้ง phpmyadmin เช่นกัน phpmyadmin จะได้รับการอัปเดตโดยอัตโนมัติหรือไม่
ฉันจะเปลี่ยนรหัสผ่านรูท MySQL และชื่อผู้ใช้ในเซิร์ฟเวอร์อูบุนตูได้อย่างไร ฉันจำเป็นต้องหยุดบริการ mysql ก่อนที่จะทำการเปลี่ยนแปลงใด ๆ หรือไม่?
ฉันมีการติดตั้ง phpmyadmin เช่นกัน phpmyadmin จะได้รับการอัปเดตโดยอัตโนมัติหรือไม่
คำตอบ:
ตั้ง / เปลี่ยน / รีเซ็ตรหัสผ่านรูทของ MySQL บน Ubuntu Linux ป้อนบรรทัดต่อไปนี้ในเทอร์มินัลของคุณ
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
sudo service mysql start
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';
หมายเหตุ: วิธีการนี้ไม่ถือเป็นวิธีที่ปลอดภัยที่สุดในการรีเซ็ตรหัสผ่านอย่างไรก็ตามวิธีนี้ใช้งานได้
อ้างอิง:
sudo killall -9 mysqld
หรือไม่ และจากนั้นsudo service mysql start
ให้เริ่มภูตปกติอีกครั้ง ...
SET PASSWORD
คำสั่ง MySQL นั้นเหมาะสำหรับคุณ
mkdir /var/run/mysqld
และchown mysql: /var/run/mysqld
ระหว่างขั้นตอนที่ 1 และ 2
วิธีเดียวที่ได้ผลสำหรับฉันคือวิธีที่อธิบายไว้ที่นี่ (ฉันใช้ Ubuntu 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';
- ดูที่ด้านบนเพื่อตรวจสอบว่าคอลัมน์รหัสผ่านเรียกว่า
รหัสผ่านหรือ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
วิธีที่ง่ายและเป็นทางการในการรีเซ็ตรหัสผ่านรูทบนเซิร์ฟเวอร์อูบุนตู ...
หากคุณอยู่บน 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
สิ่งนี้จะถามคำถามเกี่ยวกับการรักษาความปลอดภัยการติดตั้งของคุณ (แนะนำอย่างยิ่ง) รวมถึงหากคุณต้องการระบุรหัสผ่านรูทใหม่
หากคุณไม่ทราบรหัสผ่านรูทโปรดอ้างถึงขั้นตอนการเขียนเป็นศูนย์กลางของ Ubuntuอ้างถึงนี้เขียนอูบุนตูเป็นศูนย์กลางขึ้นเกี่ยวกับกระบวนการ
ดูข้อมูลเพิ่มเติมได้ที่:
https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html
Ver 14.14 Distrib 5.5.38, for debian-linux-gnu
sudo dpkg-reconfigure mysql-server-5.0
sudo dpkg-reconfigure mysql-server-5.7; sudo mysql_secure_installation
สิ่งที่ทำงานสำหรับฉัน (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 ใน Linux Ubuntu
การอ้างอิงนำมาจากบล็อก (dbrnd.com)
ขั้นตอนที่ 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 18.04 และ mysql 5.7 นี่เป็นวิธีแก้ปัญหา
ลองรีสตาร์ทเซิร์ฟเวอร์ mysql ก่อนดำเนินการ comands
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-SERVER <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-SERVER >= 5.7
รุ่นเป็นสิ่งเดียวที่แก้ปัญหาได้จริง
MYSQL-SERVER >= 5.7
รุ่นที่จะแม่นยำ
เปลี่ยนรหัสผ่าน root ของ MySQL
เมธอดนี้เปิดเผยรหัสผ่านกับประวัติบรรทัดรับคำสั่งคำสั่งเหล่านี้ควรรันเป็นรูท
เข้าสู่ระบบผ่านเครื่องมือบรรทัดคำสั่ง mysql:
mysql -uroot -poldpassword
เรียกใช้คำสั่งนี้:
SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');
หรือ
เรียกใช้คำสั่งนี้ซึ่งตั้งรหัสผ่านสำหรับผู้ใช้ปัจจุบัน ('รูท' สำหรับกรณีนี้):
SET PASSWORD = PASSWORD ('newpassword');
ในตอนแรกรันคำสั่งนี้:
sudo mysql
จากนั้นคุณควรตรวจสอบวิธีการรับรองความถูกต้องของบัญชีผู้ใช้ MySQL ของคุณใช้เพื่อเรียกใช้คำสั่งนี้
SELECT user,authentication_string,plugin,host FROM mysql.user;
ตอนนี้คุณสามารถเห็นสิ่งนี้แล้ว:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
ในตารางที่อยู่ในข้างต้นจะเห็นได้ว่าผู้ใช้ทั้งหมดของ MySQL บัญชีสถานะและถ้าคุณได้ตั้งรหัสผ่านสำหรับบัญชีรากก่อนที่คุณเห็นในคอลัมน์ปลั๊กอินแทนmysql_native_password
auth_socket
ทั้งหมดในการเปลี่ยนรหัสผ่านรูทของคุณคุณควรเรียกใช้:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
ตรวจสอบให้แน่ใจว่าได้เปลี่ยนรหัสผ่านเป็นรหัสผ่านที่คาดเดายากที่คุณเลือก จากนั้นให้โหลดเซิร์ฟเวอร์ของคุณใหม่เพื่อให้การเปลี่ยนแปลงใหม่มีผลใช้งานสิ่งนี้
FLUSH PRIVILEGES;
ดังนั้นอีกครั้งตรวจสอบวิธีการรับรองความถูกต้องซึ่งใช้โดย mysql ของคุณโดยคำสั่งนี้:
SELECT user,authentication_string,plugin,host FROM mysql.user;
และตอนนี้ผลลัพธ์คือ:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
อย่างที่คุณเห็นในตารางสิทธิ์บัญชีรูทของmysql_native_password
คุณ ตอนนี้คุณสามารถออกจากเปลือกหอย
exit;
เพียงเท่านี้คุณควรเริ่ม mysql ใหม่sudo service mysql restart
อีกครั้ง ตอนนี้คุณสามารถเข้าสู่ mysql ในฐานะบัญชีรูทด้วยรหัสผ่านของคุณได้อย่างง่ายดาย
หากคุณต้องการเปลี่ยนรหัสผ่านรูทของ MySQL ในเทอร์มินัลให้ป้อน:
sudo dpkg-reconfigure mysql-server-5.5
MySQL daemon จะหยุดทำงานและคุณจะได้รับแจ้งให้ป้อนรหัสผ่านใหม่
sudo dpkg-reconfigure mysql-server-5.7
บน Ubuntu 16.04 ไม่ได้แจ้งให้ป้อนรหัสผ่านใหม่
mysql-server is broken or not fully installed
ใครสามารถใช้sudo apt purge mysql*
และsudo apt install mysql-server
มันใช้งานได้อย่างมีเสน่ห์เหมือนที่ฉันทำกับ Ubuntu 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 ได้รับการปรับปรุงโดยการค้นหาด้านล่าง ทำการเลือกและตรวจสอบค่าที่มีอยู่หากคุณต้องการ
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 หยุด
สร้างไดเรกทอรีบริการ MySQL sudo mkdir / var / run / mysqld
ให้สิทธิ์ผู้ใช้ MySQL ในการเขียนไปยังไดเรกทอรีบริการ sudo chown mysql: / var / run / mysqld
เริ่ม MySQL ด้วยตนเองโดยไม่ตรวจสอบสิทธิ์หรือเชื่อมต่อเครือข่าย sudo mysqld_safe --skip-grant-tables --skip-networking &
5. เข้าสู่ระบบโดยไม่ต้องใช้รหัสผ่าน mysql -root mysql
6. อัพเดตรหัสผ่านสำหรับผู้ใช้รูท
อัพเดท mysql.user SET authentication_string = PASSWORD ('YOURNEWPASSWORD'), plugin = 'mysql_native_password' WHERE ผู้ใช้ = 'รูต' และโฮสต์ = '%'; EXIT;
ปิด MySQL sudo mysqladmin -S /var/run/mysqld/mysqld.sock ปิดระบบ
เริ่มบริการ MySQL ตามปกติ บริการ sudo mysql เริ่มต้น
UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';
AND Host='%'
ขอบคุณ!
โซลูชันนี้เป็นของ MySQL รุ่นก่อนหน้า โดยการเข้าสู่ MySQL โดยใช้การตรวจสอบซ็อกเก็ตคุณสามารถทำได้
sudo mysql -u root
จากนั้นคำสั่งต่อไปนี้สามารถรันได้
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
sudo mysql -u root
แต่ฉันสามารถทำตามsudo mysql
และเรียกใช้ALTER USER
คำสั่งได้
นี่คือทางออกสำหรับฉัน ฉันทำงานที่ Ubuntu 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';
สำหรับ Ubuntu 18.04 และ mysql รุ่น 14.14 Distrib 5.7.22 ทำตามขั้นตอนด้านล่างเพื่อรีเซ็ตรหัสผ่าน mysql
sudo systemctl stop mysql
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
sudo systemctl daemon-reload
sudo systemctl start mysql
sudo mysql -u root
FLUSH PRIVILEGES;
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';
UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';
sudo systemctl revert mysql
และในที่สุดก็
sudo systemctl restart mysql
ตอนนี้สนุกกับ
Echoing 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
ระหว่างการติดตั้งคุณสามารถเลือกรหัสผ่านของรูทได้:
หากคุณรู้รหัสผ่านปัจจุบันของคุณคุณไม่จำเป็นต้องหยุดเซิร์ฟเวอร์ mysql เปิดเทอร์มินัลอูบุนตู เข้าสู่ระบบโดยใช้ mysql:
mysql - username -p
จากนั้นพิมพ์รหัสผ่านของคุณ สิ่งนี้จะนำคุณเข้าสู่คอนโซล mysql ภายในคอนโซลพิมพ์:
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
จากนั้นล้างสิทธิ์โดยใช้:
> flush privileges;
จากนั้นคุณก็ทำ
เมื่อคุณใช้ MySQL PASSWORD()
บนระบบที่คุณต้องการเปลี่ยนรหัสผ่านมันอาจทำให้รหัสผ่านปรากฏขึ้นในการเข้าสู่ระบบ MySQL ใน cleartext [ ต้นฉบับ ] ทำให้พวกเขาสำรองข้อมูลของพวกเขา ฯลฯ มีความปลอดภัยเช่นเดียวกับรหัสผ่านดูเหมือนฉันฝันร้ายดังนั้นฉันชอบที่จะทำดังนี้
บนท้องถิ่นเครื่องทำงานนี้ด้วยรหัสผ่านของคุณ:
mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');")
สังเกตช่องว่างด้านหน้าเพื่อป้องกันไม่ให้ปรากฏในประวัติทุบตี (สำหรับ distros อื่นที่ไม่ใช่ Ubuntu สิ่งนี้อาจทำงานได้แตกต่าง - แหล่งที่มา )
บนเครื่องเซิร์ฟเวอร์ของคุณให้ใช้คำสั่งต่อไปนี้เพื่อเปลี่ยนรหัสผ่านรูทของ MySQL (แทนที่myhash
ด้วยแฮชของรหัสผ่านตามที่พิมพ์โดยคำสั่งแรก):
mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';")
อีกทางเลือกหนึ่งขอให้หวาดระแวงสักหน่อย: บนเครื่องของคุณให้ล้างหน้าจอเทอร์มินัลด้วยclear
และล้างเทอร์มินัลเลื่อนกลับของคุณเสมือนเพื่อซ่อนรหัสผ่าน cleartext ที่ปรากฏในคำสั่งด้านบน
ในการอัปเดตรหัสผ่านผู้ใช้ "root" 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;
คำตอบส่วนใหญ่ในหัวข้อนี้ล้าสมัยแล้ว การเปลี่ยนแปลงที่สำคัญสองประการเกิดขึ้นใน MySQL จนถึงการเขียนคำตอบนี้:
1- ฟิลด์ 'รหัสผ่าน' ในตารางผู้ใช้ถูกแทนที่ด้วยคอลัมน์ 'authentication_string'
2- ฟังก์ชั่นการเข้ารหัส 'รหัสผ่าน': PASSWORD ("ของข้อความบางข้อความ") เลิกใช้แล้ว
โปรดอ้างอิงถึงลิงค์นี้สำหรับข้อมูลเพิ่มเติม: dev.mysql.com/doc/refman/8.0/th/resetting-permissions.html
แทนที่จะรีเซ็ตรหัสผ่านจะมีวิธีแก้ไขในเครื่องท้องถิ่นหากคุณตั้งค่าphpmyadmin
ให้เชื่อมต่อโดยไม่ต้องให้รหัสผ่านหรือชื่อผู้ใช้ ตรวจสอบนี้โดยเริ่มต้นmysql
, apache
ฯลฯ ผมได้xampp
ติดตั้งในเครื่องท้องถิ่นของฉัน ดังนั้นการเริ่มต้น xampp จะเริ่มบริการที่จำเป็นทั้งหมด ตอนนี้จะhttp://localhost/phpmyadmin
แสดงฐานข้อมูลทั้งหมดให้ฉัน สิ่งนี้เป็นการยืนยันว่าคุณได้บันทึกชื่อผู้ใช้และรหัสผ่านในไฟล์ปรับแต่งของ phpmyadmin ซึ่งสามารถพบได้ในตำแหน่งphpmyadmin
ติดตั้ง หากคุณxampp
ติดตั้งphpmyadmin
โฟลเดอร์แล้วสามารถพบได้ในโฟลเดอร์รูทของxampp
การติดตั้ง ค้นหาคำpassword
ในconfig.inc.php
ไฟล์ มีคุณจะพบและ password
username
คุณสามารถเปลี่ยนรหัสผ่าน mysql ได้อย่างง่ายดายหากใช้งานบน xampp ผ่าน phpadmin gui ที่ให้ไว้
phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab)
สำหรับ mysql 5.6 คำสั่งนี้ใช้งานได้และคุณสามารถตั้งรหัสผ่านผ่านตัวช่วยสร้าง:
sudo dpkg-reconfigure mysql-server-5.6
คุณสามารถลองขั้นตอนเหล่านี้เพื่อรีเซ็ตรหัสผ่าน root ของ mysql 5.7:
หยุดบริการ Mysql อันดับที่ 1
sudo /etc/init.d/mysql stop
เข้าสู่ระบบด้วย root โดยไม่ต้องใช้รหัสผ่าน
sudo mysqld_safe --skip-grant-tables
&
หลังจากเข้าสู่ระบบ mysql terminal คุณควรต้องใช้คำสั่ง execute เพิ่มเติม:
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 ของคุณหากคุณยังคงพบข้อผิดพลาดคุณต้องไปที่: รีเซ็ตรหัสผ่าน root ของ MySQL 5.7 Ubuntu 16.04
คุณสามารถใช้คำสั่งนี้:
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
หลังจากนั้นโปรดใช้ flush:
FLUSH PRIVILEGES;
การตั้งรหัสผ่าน MySQL
sudo /etc/init.d/mysql หยุด
sudo mkdir / var / run / mysqld /
sudo chown mysql / var / run / mysqld /
sudo mysqld_safe --skip-grant-tables &
sudo mysql -u root
ใช้ mysql
update user set authentication_string=PASSWORD("New_Passwore_Here") where
ผู้ใช้ = 'ราก';
บันทึกการเปลี่ยนแปลง
สิทธิ์ล้าง; ออกจาก;
หยุด MySQL safe_mode และเริ่มบริการเริ่มต้นของ MySQL
sudo /etc/init.d/mysql หยุด
sudo /etc/init.d/mysql เริ่มทำงาน
sudo mysql -u root -p
*** ที่มา: https://websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/
หากคุณรู้รหัสผ่านผู้ใช้ 'รูท' ให้เข้าสู่ mysql ด้วยข้อมูลประจำตัวนั้น จากนั้นดำเนินการแบบสอบถามต่อไปนี้เพื่ออัปเดตรหัสผ่าน
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';
เมื่อเปลี่ยน / รีเซ็ตรหัสผ่าน MySQL คำสั่งต่อไปนี้ไม่ได้ช่วย ฉันพบว่าการเข้าไปในเทอร์มินัลและการใช้คำสั่งเหล่านี้ไม่มีจุดหมาย ใช้คำสั่ง sudo แทนทุกอย่างแทน ลบ SYSTEM 32 สำหรับ windows หากมีปัญหา
ubuntu
ระบบปฏิบัติการไม่ใช่ windows คุณหมายถึงอะไรโดยลบ SYSTEM 32 สำหรับ Windows ?
ในการรีเซ็ตหรือเปลี่ยนรหัสผ่านให้ป้อนsudo dpkg-reconfigure mysql-server-X.X
(XX เป็นเวอร์ชั่น mysql ที่คุณติดตั้งเช่น 5.6, 5.7) จากนั้นคุณจะแจ้งให้หน้าจอที่คุณต้องตั้งรหัสผ่านใหม่จากนั้นในขั้นตอนถัดไปยืนยันรหัสผ่านและรอสักครู่ แค่นั้นแหละ.
ฉันต้องไปเส้นทางนี้บน Ubuntu 16.04.1 LTS เป็นคำตอบบางส่วนที่ผสมผสานกัน - แต่ก็ไม่มีใครช่วย ฉันใช้เวลาหนึ่งชั่วโมงหรือมากกว่านั้นลองใช้คำแนะนำอื่น ๆ ทั้งหมดจากเว็บไซต์ MySql กับทุกอย่างในที่สุดฉันก็ใช้งานได้ด้วย:
หมายเหตุ:ในขณะที่มันแสดงให้เห็นป้อนรหัสผ่านสำหรับรูทผู้ใช้ฉันไม่ได้มีรหัสผ่านเดิม ใช้เป็นรหัสผ่านใหม่
หมายเหตุ:ไม่มี /var/log/mysqld.log เท่านั้น /var/log/mysql/error.log
นอกจากนี้โปรดทราบว่าสิ่งนี้ไม่ได้ผลสำหรับฉัน:
sudo dpkg-reconfigure mysql-server-5.7
ไม่เช่นนั้น
sudo dpkg-reconfigure --force mysql-server-5.5
สร้างไดเรกทอรีบริการ MySQL
sudo mkdir /var/run/mysqld
ให้สิทธิ์ผู้ใช้ MySQL ในการเขียนไปยังไดเรกทอรีบริการ
sudo chown mysql: /var/run/mysqld
แล้ว:
run / usr / bin / mysql_secure_installation
เอาต์พุตจาก mysql_secure_installation
root @ myServer: ~ # / usr / bin / mysql_secure_installation
การรักษาความปลอดภัยการปรับใช้เซิร์ฟเวอร์ MySQL
ป้อนรหัสผ่านสำหรับรูทผู้ใช้:
ปลั๊กอินรหัสผ่านที่ถูกต้องสามารถใช้เพื่อทดสอบรหัสผ่านและปรับปรุงความปลอดภัย มันตรวจสอบความแข็งแกร่งของรหัสผ่านและอนุญาตให้ผู้ใช้ตั้งรหัสผ่านเหล่านั้นเท่านั้นซึ่งมีความปลอดภัยเพียงพอ คุณต้องการตั้งค่าปลั๊กอินรหัสผ่านที่ถูกต้องหรือไม่
กด y | Y สำหรับใช่คีย์อื่น ๆ สำหรับไม่ใช่: ไม่ใช้รหัสผ่านที่มีอยู่สำหรับรูท เปลี่ยนรหัสผ่านสำหรับรูท? ((กด y | Y สำหรับใช่คีย์อื่น ๆ สำหรับไม่): y
รหัสผ่านใหม่:
ป้อนรหัสผ่านใหม่อีกครั้ง: ตามค่าเริ่มต้นการติดตั้ง MySQL มีผู้ใช้ที่ไม่ระบุชื่อทำให้ทุกคนสามารถเข้าสู่ระบบ MySQL ได้โดยไม่ต้องสร้างบัญชีผู้ใช้สำหรับพวกเขา สิ่งนี้มีไว้สำหรับการทดสอบเท่านั้นและเพื่อให้การติดตั้งราบรื่นขึ้น คุณควรลบออกก่อนที่จะย้ายเข้าสู่สภาพแวดล้อมการผลิต
ลบผู้ใช้ที่ไม่ระบุชื่อหรือไม่ (กด y | Y สำหรับใช่คีย์อื่น ๆ สำหรับไม่): y สำเร็จ
โดยปกติรูทควรได้รับอนุญาตให้เชื่อมต่อจาก 'localhost' เท่านั้น สิ่งนี้ทำให้มั่นใจได้ว่าใครบางคนไม่สามารถเดารหัสผ่านรูทได้จากเครือข่าย
ไม่อนุญาตให้ล็อกอินรูทจากระยะไกล (กด y | Y สำหรับใช่คีย์อื่น ๆ สำหรับไม่): y สำเร็จ
โดยค่าเริ่มต้น MySQL มาพร้อมกับฐานข้อมูลชื่อ 'ทดสอบ' ที่ทุกคนสามารถเข้าถึงได้ สิ่งนี้มีไว้สำหรับการทดสอบเท่านั้นและควรลบออกก่อนย้ายเข้าสู่สภาพแวดล้อมการผลิต
ลบฐานข้อมูลทดสอบและเข้าถึงหรือไม่ (กด y | Y สำหรับใช่คีย์อื่น ๆ สำหรับไม่): y
กำลังวางฐานข้อมูลทดสอบ ... สำเร็จ
กำลังลบสิทธิ์ในฐานข้อมูลทดสอบ ... สำเร็จ
การโหลดตารางสิทธิ์จะทำให้มั่นใจได้ว่าการเปลี่ยนแปลงทั้งหมดที่ทำไปจะมีผลทันที
โหลดตารางสิทธิ์เดี๋ยวนี้หรือไม่ (กด y | Y สำหรับใช่คีย์อื่น ๆ สำหรับไม่): y สำเร็จ
ทุกอย่างเสร็จเรียบร้อย!