ไม่สามารถตั้งรหัสผ่านสำหรับผู้ใช้ mysql“ root”


16

ฉันใหม่สำหรับ Ubuntu ฉันใช้ Ubuntu 12.10 ฉันพยายามติดตั้ง apache, php, mysql อย่างไรก็ตามฉันได้ติดตั้ง Apache และมันทำงานได้อย่างสมบูรณ์

sudo apt-get install apache2

แต่เมื่อฉันพยายามติดตั้ง mysql โดยใช้คำสั่งต่อไปนี้

sudo apt-get install mysql-server 

หลังจากดาวน์โหลดมันจะถามรหัสผ่าน แต่หลังจากป้อนและยืนยันรหัสผ่าน ฉันได้รับข้อความแสดงข้อผิดพลาด

ไม่สามารถตั้งรหัสผ่านสำหรับผู้ใช้ Mysql "root"

เกิดข้อผิดพลาดขณะตั้งค่ารหัสผ่านสำหรับ mysql
ผู้ใช้ที่เป็นผู้ดูแลระบบนี่อาจเกิดขึ้นเนื่องจากบัญชีมีรหัสผ่านอยู่แล้วหรือเนื่องจากปัญหาการสื่อสารกับเซิร์ฟเวอร์ Mysql
คุณควรตรวจสอบรหัสผ่านของบัญชีหลังจากการติดตั้งแพ็คเกจ
โปรดอ่านไฟล์ /usr/share/doc/mysql-server-5.5/README.Debian สำหรับข้อมูลเพิ่มเติม

หลังจากคลิกที่ปุ่มตกลงที่แจ้งฉันได้รับข้อความต่อไปนี้ใน terminal

Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)

บันทึกข้อผิดพลาด Mysql พูดว่า

130209 14:26:37 [Note] Plugin 'FEDERATED' is disabled.
130209 14:26:37 InnoDB: The InnoDB memory heap is disabled
130209 14:26:37 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130209 14:26:37 InnoDB: Compressed tables use zlib 1.2.7
130209 14:26:37 InnoDB: Using Linux native AIO
mysqld: Can't create/write to file '/tmp/ibNuz7q0' (Errcode: 13)
130209 14:26:37  InnoDB: Error: unable to create temporary file; errno: 13
130209 14:26:37 [ERROR] Plugin 'InnoDB' init function returned error.
130209 14:26:37 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130209 14:26:37 [ERROR] Unknown/unsupported storage engine: InnoDB
130209 14:26:37 [ERROR] Aborting

ฉันค้นหาปัญหานี้แล้ว แต่ไม่มีอะไรทำงานให้ฉัน กรุณาช่วย.


1
ตรวจสอบว่าคุณได้ติดตั้งไว้แล้วโดยการทำงานmysql-server ps -e | grep mysqldหากคุณเห็นเอาต์พุตใด ๆ ซึ่งหมายความว่าติดตั้งไว้แล้ว
สีเขียว

ฉันไม่ได้รับผลใด ๆ สำหรับเรื่องนี้
Devendra Verma

ข้อผิดพลาด MySQL /etc/mysql/my.cnfที่คุณโพสต์อาจบ่งบอกถึงปัญหากับคุณ หากคุณแก้ไขไฟล์นั้นหรือไฟล์ใด ๆ ในไดเรกทอรี / etc / mysql ให้คืนค่าต้นฉบับแล้วลองอีกครั้ง
Richard Ayotte

นาธานฉันกำลังประสบปัญหาเดียวกันในโพสต์นี้และฉันได้ทำตามคำแนะนำเดียวกันกับที่เป็นสีเขียว 7 โพสต์และของคุณด้วย ฉันไม่เข้าใจด้วยซ้ำว่าทำไม mysql หยุดทำงาน ฉันจะมีความสุขถ้าคุณสามารถให้ความช่วยเหลือเพิ่มเติม แก้ไข: เพียงเพื่อให้คุณรู้ว่าสิ่งที่เกิดขึ้นเพราะฉันเริ่มได้รับจากที่ไหนเลยข้อความต่อไปนี้เมื่อฉันพยายามที่จะติดตั้ง mysql: ข้อผิดพลาด: 1146 ตาราง 'mysql.user' ไม่มีอยู่ขอบคุณล่วงหน้า

ไม่สามารถตอบได้เนื่องจากชื่อเสียงต่ำ ส่วนสำคัญนี้ใช้งานได้สำหรับฉันgist.github.com/ervinb/63138a504da11a9c27af
gayavat

คำตอบ:


25

ปัญหาการตั้งค่ารหัสผ่านรูทเดียวกันที่นี่อาจเกิดจากการติดตั้งด้วยตนเองไม่สำเร็จของเซิร์ฟเวอร์ mysql 5.6 ก่อนหน้านี้ การถอนการติดตั้ง mysql อย่างละเอียดไม่ใช่เรื่องง่าย ฉันลบ / ติดตั้งใหม่เป็นเวลาหลายชั่วโมงจากนั้นก็แก้ไขได้ด้วย

sudo dpkg --purge mysql-client-core-5.5 # or alternative version
sudo dpkg --purge mysql-client
sudo dpkg --purge mysql-server-core-5.5 # or alternative version
sudo dpkg --purge mysql-common

โดยทั่วไปฉันเพิ่งพิมพ์

sudo dpkg --purge mysql # followed by two tabs

จากนั้น--purgeแพ็คเกจใด ๆ ที่เทอร์มินัลจะเติมให้สมบูรณ์โดยอัตโนมัติ ล้างข้อมูลmysql-commonในที่สุดเนื่องจากปัญหาการพึ่งพาบางอย่าง

ใช้dpkgคำสั่งข้างต้นนอกเหนือจาก

sudo apt-get --purge remove mysql-server
sudo apt-get --purge remove mysql-client
sudo apt-get --purge remove mysql-common
sudo apt-get autoremove
sudo apt-get autoclean

ฉันก็ลองใช้วิธีของ Greq

sudo rm -rf /etc/mysql

ลบโฟลเดอร์ mysql ออกจาก / var / lib

sudo rm -rf /var/lib/mysql/

ณ จุดนี้เพื่อให้แน่ใจว่า mysql ถูกลบอย่างสมบูรณ์ตรวจสอบด้วย

which mysql
mysql --version

อันแรกไม่ควรส่งคืนผลลัพธ์แทนที่จะเป็นโฟลเดอร์ ที่สองควรกลับ mysql ไม่ได้ติดตั้งแทนหมายเลขรุ่น ไม่เช่นนั้นการลบจะยังไม่สมบูรณ์

ความสำคัญของdpkg --purgeคือเมื่อใช้apt-getเพียงอย่างเดียวwhich mysqlและmysql --versionทำตัวเหมือน mysql ยังคงมีอยู่

ก่อนการติดตั้งใหม่ให้กำหนดค่า dpkg และอัปเดตใหม่

sudo dpkg --configure -a
sudo apt-get update

ปัญหาได้รับการแก้ไขในที่สุด หวังว่ามันจะเป็นประโยชน์สำหรับคนอื่น ๆ


3
ในกรณีของฉันเมื่อ: sudo dpkg --purge mysql-common มันล้มเหลวด้วย: dpkg: ปัญหาการพึ่งพาป้องกันการลบ mysql-common: mysql-client-5.5 ขึ้นอยู่กับ mysql-common (> = 5.5.35-0ubuntu0.12.04 2) libmysqlclient18 ขึ้นอยู่กับ mysql-common (> = 5.5.35-0ubuntu0.12.04.2) dpkg: การประมวลผลข้อผิดพลาด mysql-common (--purge): ปัญหาการพึ่งพา - ไม่ได้ลบข้อผิดพลาดที่พบในขณะที่การประมวลผล: mysql-common
ses

มันก็ใช้ได้กับฉันเช่นกัน
Michael Lindman

ฉันค้นหาบางชุดคำแนะนำซึ่งจะช่วยแก้ไขสถานการณ์ได้อย่างสมบูรณ์ สิ่งนี้ใช้งานได้ตามที่อธิบายไว้ ขอบคุณ
Matt Setter

ทำงานให้ฉันขอบคุณคน! เป็นเรื่องน่าเสียดายที่ linux ทำหน้าที่ยุ่งเหยิงกับการจัดวางไฟล์!
southerton

ในที่สุดก็ทำงานให้ฉัน ฉันคิดว่าการรีบูตหลังจากทั้งหมดที่อาจช่วยให้ฉันผ่าน!
Danimal

5

คุณต้องลบ mysql อย่างสมบูรณ์ เชื่อฉันฉันพยายาม dpkg จะไม่ทำสิ่งนี้เพียงอย่างเดียว

ดู

/programming/10853004/removing-mysql-5-5-completely

หากคุณกำลังรีบ

sudo service mysql stop  #or mysqld
sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo deluser mysql
sudo rm -rf /var/lib/mysql
sudo apt-get purge mysql-server-core-5.5
sudo apt-get purge mysql-client-core-5.5

คุณเป็นฮีโร่! ฉันใช้เวลาหลายชั่วโมงในการทำ Google และลองใช้คำแนะนำที่แตกต่างกันไปทุกที่ ฉันคิดว่าความแตกต่างอยู่ในการลบผู้ใช้ mysql เนื่องจากฉันได้ลองตัวเลือกอื่น ๆ ส่วนใหญ่แล้ว PS: ฉันต้องkill -9หลายกระบวนการก่อนที่จะเรียกใช้deluser mysqlคำสั่งได้สำเร็จ
Shautieh

3

ฉันคิดว่าเหตุผลคือmysqlไม่สามารถเข้าถึง/tmp/ไดเรกทอรีของคุณตามที่ระบุในบรรทัด

mysqld: ไม่สามารถสร้าง / เขียนไฟล์ '/ tmp / ibNuz7q0' (Errcode: 13)

รันคำสั่งต่อไปนี้ในเทอร์มินัล:

sudo su
chown root: root / tmp
chmod 1777 / tmp
/ usr / sbin / mysqld &

คำอธิบาย :

  • sudo su: rootในการเรียกใช้คำสั่งดังต่อไปนี้
  • chown root:root /tmp: ให้ผู้ใช้rootของกลุ่มเจ้าของroot/tmp
  • chmod 1777 /tmp: เปลี่ยนการอนุญาต/tmpเพื่อให้ผู้ใช้ทุกคนสามารถเข้าถึงได้และมีเพียงเจ้าของหรือrootสามารถลบไฟล์ในไดเรกทอรีนั้นได้ (เพิ่มเติมเกี่ยวกับการอนุญาตไฟล์ที่นี่ )
  • /usr/sbin/mysqld &: เริ่มmysqldภูต

หลังจากป้อนคำสั่งสุดท้ายฉันได้รับข้อความนี้ # /etc/init.d mysqld เริ่มทุบตี: /etc/init.d: ​​เป็นไดเรกทอรี
Devendra Verma

แก้ไขคำตอบ
สีเขียว

ฉันได้รับผลลัพธ์นี้หลังจาก / usr / sbin / mysqld & / usr / sbin / mysqld & [1] 3497 ฉันจะตรวจสอบว่า mysql ทำงานอยู่ได้อย่างไร
Devendra Verma

เพื่อตรวจสอบว่า mysql ของคุณทำงานอยู่รันหรือไม่ps -e | grep mysqldและถ้าคุณได้เอาต์พุตบางอันมันก็ทำงานได้ดี
สีเขียว

ขอบคุณ @ green7 นี่คือผลลัพธ์ ps -e | grep mysqld 1075? 00:00:04 mysqld
Devendra Verma

2

เมื่อคืนนี้ฉันปล้ำไปหลายชั่วโมงแล้วอ่านทุกอย่างที่ Google มีในดัชนีเกี่ยวกับปัญหา

ฉันติดตั้ง MySQL ใหม่อีก 20 ครั้ง นั่นอาจเป็นตัวเลขที่แท้จริง

ในที่สุดหนึ่งในนี้หรือทั้งสองอย่างได้แก้ไขปัญหา (หลังจากถอนการติดตั้ง / กำจัด / เผาไหม้ mysql):

  1. sudo rm -rf /etc/mysql (นี่ไม่ได้ถูกลบออกหลังจากการล้าง)
  2. จากนั้นฉันปิดเซิร์ฟเวอร์และปรับขนาดอินสแตนซ์ VM ของฉันจาก 512MB เป็น 1GB (RAM)

หลังจากนั้นฉันก็วิ่งsudo aptitude install mysql-serverและติดตั้งได้สำเร็จในที่สุด:

$ sudo aptitude install mysql-server
[sudo] password for [REDACTED]: 
The following NEW packages will be installed:
  libdbd-mysql-perl{a} libmysqlclient18{a} mysql-client-5.5{a} mysql-common{a} mysql-server mysql-server-5.5{a} mysql-server-core-5.5{a} 
0 packages upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,589 kB of archives. After unpacking 94.6 MB will be used.
Do you want to continue? [Y/n/?] Y
Get: 1 http://ftp.us.debian.org/debian/ wheezy/main mysql-common all 5.5.31+dfsg-0+wheezy1 [85.3 kB]
Get: 2 http://ftp.us.debian.org/debian/ wheezy/main libmysqlclient18 amd64 5.5.31+dfsg-0+wheezy1 [687 kB]
Get: 3 http://ftp.us.debian.org/debian/ wheezy/main libdbd-mysql-perl amd64 4.021-1+b1 [126 kB]
Get: 4 http://ftp.us.debian.org/debian/ wheezy/main mysql-client-5.5 amd64 5.5.31+dfsg-0+wheezy1 [1,923 kB]
Get: 5 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-core-5.5 amd64 5.5.31+dfsg-0+wheezy1 [3,784 kB]
Get: 6 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-5.5 amd64 5.5.31+dfsg-0+wheezy1 [1,900 kB]
Get: 7 http://ftp.us.debian.org/debian/ wheezy/main mysql-server all 5.5.31+dfsg-0+wheezy1 [83.6 kB]
Fetched 8,589 kB in 2s (3,068 kB/s)
Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 52430 files and directories currently installed.)
Unpacking mysql-common (from .../mysql-common_5.5.31+dfsg-0+wheezy1_all.deb) ...
Selecting previously unselected package libmysqlclient18:amd64.
Unpacking libmysqlclient18:amd64 (from .../libmysqlclient18_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package libdbd-mysql-perl.
Unpacking libdbd-mysql-perl (from .../libdbd-mysql-perl_4.021-1+b1_amd64.deb) ...
Selecting previously unselected package mysql-client-5.5.
Unpacking mysql-client-5.5 (from .../mysql-client-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package mysql-server-core-5.5.
Unpacking mysql-server-core-5.5 (from .../mysql-server-core-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Processing triggers for man-db ...
Setting up mysql-common (5.5.31+dfsg-0+wheezy1) ...
Selecting previously unselected package mysql-server-5.5.
(Reading database ... 52616 files and directories currently installed.)
Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.5.31+dfsg-0+wheezy1_all.deb) ...
Processing triggers for man-db ...
Setting up libmysqlclient18:amd64 (5.5.31+dfsg-0+wheezy1) ...
Setting up libdbd-mysql-perl (4.021-1+b1) ...
Setting up mysql-client-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-core-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-5.5 (5.5.31+dfsg-0+wheezy1) ...
Stopping MySQL database server: mysqld.
131124 15:39:56 [Note] Plugin 'FEDERATED' is disabled.
131124 15:39:56 InnoDB: The InnoDB memory heap is disabled
131124 15:39:56 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131124 15:39:56 InnoDB: Compressed tables use zlib 1.2.7
131124 15:39:56 InnoDB: Using Linux native AIO
131124 15:39:56 InnoDB: Initializing buffer pool, size = 128.0M
131124 15:39:56 InnoDB: Completed initialization of buffer pool
131124 15:39:56 InnoDB: highest supported file format is Barracuda.
131124 15:39:56  InnoDB: Waiting for the background threads to start
131124 15:39:57 InnoDB: 5.5.31 started; log sequence number 1595675
131124 15:39:57  InnoDB: Starting shutdown...
131124 15:39:58  InnoDB: Shutdown completed; log sequence number 1595675
Starting MySQL database server: mysqld ..
Checking for tables which need an upgrade, are corrupt or were 
not closed cleanly..
Setting up mysql-server (5.5.31+dfsg-0+wheezy1) ...

1

พิมพ์sudo apt-get purge mysql-server && sudo apt-get install mysql-serverหากไม่ได้ผลโปรดแสดงความคิดเห็นในคำตอบของฉันและฉันจะทำงานร่วมกับคุณเพื่อแก้ไขปัญหานี้


0

สคริปต์การติดตั้งสำหรับ Ubuntu ทุกรุ่นหลังจาก 12.04 ไม่เป็นไปตามกระบวนการตั้งค่าเดียวกันกับ 12.04 ใน 12.04 คุณจะถูกขอให้ตั้งรหัสผ่าน mysql อย่างชัดเจนระหว่างการติดตั้ง สำหรับ 12.10 และหลังจากนั้นก็ขอรหัสผ่าน root ของ mysql แต่รหัสผ่านนั้นคืออะไร? สคริปต์การติดตั้งเป็นขั้นตอนย้อนหลัง ฉันแนะนำให้ติดตั้ง 12.04 ในเครื่องเสมือนและติดตั้ง mysql ที่นั่น หากคุณเป็นเช่นฉันและใช้สิ่งนี้ร่วมกับ Drupal แน่นอนติดกับ 12.04


0

วิธีแก้ไขปัญหาที่แตกต่างกันสำหรับผู้ที่ยังมีปัญหาอยู่ หวังว่าฉันสามารถช่วยผู้ที่พยายามติดตั้ง Mysql อีกครั้ง หมายเหตุมันคือภารกิจค้นหาและทำลาย ดังนั้นต้องเหนื่อย สมมติว่ารากของคุณ:

apt-get purge mysql*
apt-get purge dbconfig-common #the screen used for mysql password
find / -name *mysql*          #delete any traces of mysql
#insert apt-get cleanups, autoremove,updates etc.

เดิมทีมีบางสิ่งที่เหลืออยู่รบกวนการเริ่มต้นของ mysqlserver-5.5 คำสั่งเหล่านี้ลงเอยด้วยการแก้ไขปัญหาด้วยตนเอง

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