ปิด --skip-grant-tables ใน MySQL


13

ฉันค่อนข้างใหม่ในการใช้ Linux แต่กำลังตั้งค่าฐานข้อมูล MySQL ของฉันใน Amazon ec2 เช่นกัน ฉันทำตามคำแนะนำบางอย่างที่ฉันพบเกี่ยวกับการรีเซ็ตรหัสผ่านของผู้ใช้โดยใช้--skip-grant-tablesตัวเลือกของ MySQL ตอนนี้ฉันกำลังพยายามเพิ่มผู้ใช้และไม่สามารถหาวิธีปิดตัวเลือกนั้นได้

นี่คือสิ่งที่ฉันพยายามทำ:

mysql> GRANT CREATE,SELECT,INSERT,UPDATE,DELETE ON ...my db username and pass

แต่ฉันได้รับข้อผิดพลาดนี้:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

ฉันจะปิดตัวเลือกนี้ได้อย่างไร

คำตอบ:




2

คุณสามารถทำได้โดยใช้ขั้นตอนด้านล่าง

[root@backups1 mysql5.7]# bin/mysqld_safe --skip-grant-tables --user=mysql

เชื่อมต่อกับ mysql ของคุณโดยไม่ต้องใช้รหัสผ่าน

mysql> flush privileges;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '';
mysql> flush privileges;

เปลี่ยนเป็นโหมดปกติของ mysql จากนั้นเชื่อมต่อโดยไม่ต้องใช้รหัสผ่าน

นี้จะทำงานให้คุณอย่างแน่นอน


0

เมื่อวานนี้ฉันพบปัญหาที่คล้ายกัน เซิร์ฟเวอร์ใช้ Amazon Linux 2 เป็นระบบปฏิบัติการและที่เก็บข้อมูล yum อย่างเป็นทางการ (el7 ตัว) เป็นวิธีการติดตั้ง

โดยเฉพาะอย่างยิ่งเมื่อคุณใช้ MySQL ของ repository yum อย่างเป็นทางการ MySQL จะถูกติดตั้งเป็นบริการ systemd ในกรณีเช่นนี้คุณสามารถตรวจสอบว่ากระบวนการ MySQL sudo service mysql status -lจะเปิดตัวโดยการดำเนินการคำสั่งต่อไปนี้: ซึ่งส่งผลให้คำอธิบายสถานะปัจจุบันของบริการ mysql ปัจจุบัน จากคำอธิบายเหล่านั้นฉันสามารถค้นหาบรรทัดต่อไปนี้:

  Process: 26474 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS

ในสภาพแวดล้อมของฉันปรากฎว่าMYSQLD_OPTSตัวแปรถูกตั้งค่าด้วย--skip-grant-tablesตัวเลือกค่าโดยกระบวนการ systemd เพื่อยืนยันตัวแปรสภาพแวดล้อมที่กำหนดโดย systemd คุณสามารถดำเนินการและมองหาเส้นที่เริ่มต้นด้วยsudo systemctl showEnvironment=

ในการเปลี่ยนตัวแปรสภาพแวดล้อมนี้ฉันดำเนินการคำสั่งต่อไปนี้

sudo systemctl set-environment MYSQLD_OPTS=""

หลังจากการดำเนินการนี้ฉันเริ่มบริการ mysqld sudo service mysql restartอีกครั้งและทุกอย่างทำงานได้อย่างสมบูรณ์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.