MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang digunakan secara meluas dalam bidang teknologi Internet. Walau bagaimanapun, apabila mengendalikan MySQL, anda mungkin menghadapi masalah kegagalan untuk memulakan perkhidmatan mysql.
Terdapat banyak sebab mengapa MySQL gagal dimulakan Artikel ini akan memperkenalkan beberapa sebab biasa dan menyediakan penyelesaian.
Apabila memulakan perkhidmatan MySQL, jika port telah diduduki, MySQL akan gagal dimulakan. Dalam kes ini, kita boleh menyelesaikan masalah melalui kaedah berikut:
Pertama, kita perlu mengesahkan bahawa nombor port lalai MySQL ialah 3306. Kita boleh menggunakan arahan berikut untuk menyemak:
$ mysqladmin -h localhost -u root -p status
Jika MySQL tidak dimulakan pada masa ini, ia akan menggesa "mysqladmin: connect to server at 'localhost' failed error", jika tidak maklumat status MySQL akan dikembalikan.
Kami boleh menggunakan arahan berikut untuk menyemak proses yang sedang menggunakan port 3306:
$ sudo lsof -i:3306
Jika terdapat proses lain menggunakan port 3306 dalam maklumat yang dikembalikan, anda perlu menghentikan proses atau tetapkan MySQL kepada sesuatu yang lain Pelabuhan tidak berpenghuni.
Di bawah sistem Linux, kami boleh menyelesaikan masalah dengan mengubah suai nombor port dalam fail konfigurasi MySQl. Butirannya adalah seperti berikut:
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf #修改以下行 port = 3306 #修改为其他可用端口 port = 3307
Selepas pengubahsuaian selesai, mulakan semula perkhidmatan MySQL.
Jika fail pangkalan data MySQL rosak, ia juga boleh menyebabkan kegagalan permulaan. Untuk situasi ini, kita boleh menyelesaikan masalah melalui kaedah berikut:
Pertama, kita perlu memasuki direktori data MySQL dan menyemak sama ada fail pangkalan data rosak. Di bawah sistem Ubuntu, direktori data MySQL biasanya /var/lib/mysql/. Kita boleh menggunakan arahan berikut untuk memasuki direktori:
$ cd /var/lib/mysql/
Selepas memasuki direktori, kita boleh menggunakan arahan berikut untuk menyemak sama ada fail data adalah normal:
$ sudo mysqlcheck -u root -p --auto-repair --check --all-databases
Arahan ini akan menyemak jumlah semua pembaikan pangkalan data.
Jika fail data rosak dan tidak dapat dibaiki, kami perlu melakukan pemulihan data. Pada masa ini kita perlu membuat sandaran fail pangkalan data MySQL yang asal terlebih dahulu. Kaedah khusus adalah seperti berikut:
$ sudo service mysql stop $ sudo cp -r /var/lib/mysql /var/lib/mysql-backup
Selepas sandaran selesai, kita boleh cuba menggunakan arahan mysql_upgrade untuk mengemas kini pangkalan data MySQL kepada versi terkini. Perintah khusus adalah seperti berikut:
$ sudo mysql_upgrade -u root -p
Jika masalah masih tidak dapat diselesaikan, kami boleh mempertimbangkan untuk memasang semula pelayan MySQL atau memulihkan data daripada sandaran sedia ada.
Jika kebenaran pengguna MySQL tidak mencukupi, ia juga akan menyebabkan kegagalan permulaan. Untuk situasi ini, kita boleh menyelesaikan masalah melalui kaedah berikut:
Dalam baris arahan MySQL, kadangkala mesej ralat seperti "Access denied for user 'root'@'localhost'" akan muncul Disebabkan oleh kebenaran pengguna MySQL yang tidak mencukupi.
Kami boleh menyelesaikan masalah ini melalui kaedah berikut:
Pertama, di bawah akaun root MySQL, kami boleh menanyakan kebenaran pengguna semasa:
mysql> SHOW GRANTS FOR CURRENT_USER;
Arahan ini akan mengembalikan maklumat Kebenaran pengguna semasa dalam MySQL. Jika kebenaran pengguna semasa tidak mencukupi, kami boleh menggunakan perintah berikut untuk mengkonfigurasi kebenaran yang lebih tinggi untuk pengguna:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost'; mysql> FLUSH PRIVILEGES;
Arahan ini membenarkan 'nama pengguna' pengguna pada localhost, memberikan pengguna semua kebenaran dalam MySQL kebenaran. Perintah terakhir adalah untuk menyegarkan kebenaran MySQL.
Ringkasan
Apabila menggunakan MySQL, adalah masalah biasa yang MySQL gagal dimulakan kerana pelbagai sebab. Artikel ini memperkenalkan beberapa masalah dan penyelesaian biasa, termasuk: pendudukan port, kerosakan fail pangkalan data dan isu kebenaran pengguna. Apabila menghadapi masalah kegagalan permulaan perkhidmatan MySQL, pembaca boleh mencuba kaedah yang disediakan dalam artikel ini saya percaya bahawa kebanyakan masalah boleh diselesaikan.
Atas ialah kandungan terperinci perkhidmatan mysql gagal dimulakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!