Hari ini saya melakukan instalasi baru ubuntu 12.04 dan mulai mengatur lingkungan pengembangan lokal saya. Saya menginstal mysql dan diedit /etc/mysql/my.cnf
untuk mengoptimalkan InnoDB tetapi ketika saya mencoba me-restart mysql, gagal dengan kesalahan:
[20:53][tom@Pochama:/var/www/website] (master) $ sudo service mysql restart
start: Job failed to start
Syslog mengungkapkan ada masalah dengan skrip init:
> tail -f /var/log/syslog
Apr 28 21:17:46 Pochama kernel: [11840.884524] type=1400 audit(1335644266.033:184): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=760 comm="apparmor_parser"
Apr 28 21:17:47 Pochama kernel: [11842.603773] init: mysql main process (764) terminated with status 7
Apr 28 21:17:47 Pochama kernel: [11842.603841] init: mysql main process ended, respawning
Apr 28 21:17:48 Pochama kernel: [11842.932462] init: mysql post-start process (765) terminated with status 1
Apr 28 21:17:48 Pochama kernel: [11842.950393] type=1400 audit(1335644268.101:185): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=811 comm="apparmor_parser"
Apr 28 21:17:49 Pochama kernel: [11844.656598] init: mysql main process (815) terminated with status 7
Apr 28 21:17:49 Pochama kernel: [11844.656665] init: mysql main process ended, respawning
Apr 28 21:17:50 Pochama kernel: [11845.004435] init: mysql post-start process (816) terminated with status 1
Apr 28 21:17:50 Pochama kernel: [11845.021777] type=1400 audit(1335644270.173:186): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=865 comm="apparmor_parser"
Apr 28 21:17:51 Pochama kernel: [11846.721982] init: mysql main process (871) terminated with status 7
Apr 28 21:17:51 Pochama kernel: [11846.722001] init: mysql respawning too fast, stopped
Ada ide?
Hal yang sudah saya coba:
Saya mencari di Google dan menemukan bug Ubuntu dengan apparmor ( https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/970366 ), saya mengubah apparmor dari mode penegakan ke mode komplain:
sudo apt-get install apparmor-utils
sudo aa-complain /usr/sbin/mysqld
sudo /etc/init.d/apparmor reload
tapi itu tidak membantu. Saya masih tidak dapat memulai mysql.
Saya juga berpikir masalahnya mungkin karena file log InnoDB memiliki ukuran yang berbeda dari yang diharapkan oleh mysql. Aku dihapus file log InnoDB sebelum restart menggunakan: sudo mv /var/lib/mysql/ib_logfile* /tmp
. Tapi tidak berhasil.
Penanganan masalah: Saya menginstal ulang 12,04, memastikan tidak menyentuh /etc/mysql/my.cnf
dengan cara apa pun. Mysql bekerja sehingga saya bisa melanjutkan apa yang harus saya lakukan. Tapi saya perlu mengeditnya di beberapa titik - Mudah-mudahan saya akan menemukan solusi, atau pertanyaan ini akan dijawab pada saat itu ...
dpkg-reconfigure mysql-server-5.5
perbaikan apa pun yang salah dalam konfigurasi saya.utf8_unicode_ci
lebih baik. Bahkan sekarangutf8mb4_unicode_ci
Innodb memiliki pengaturan default (innodb_buffer_pool_size) yang diatur ke 128M - ini mungkin terlalu besar untuk server Anda (terutama jika Anda menggunakan Amazon EC2 AMI kecil - yang saya) Perbaikan yang bekerja untuk saya adalah dengan menambahkan yang berikut ini baris ke
/etc/mysql/my.cnf
Saya menulis tentang perbaikan ini di sini http://www.mlynn.org/2012/07/mysql-5-5-on-ubuntu-12-04-job-failed-to-start
sumber
innodb_buffer_pool_size
lebih rendah adalah salah satu bagian dari solusi, tetapi waspadalah Anda mungkin kehabisan memori.Saya punya masalah serupa. Itu membuat frustrasi karena saya tidak bisa melihat log kesalahan yang menunjukkan apa masalahnya.
Dalam kasus saya, nilai yang saya tetapkan untuk innodb_buffer_pool_size terlalu besar untuk memori server.
Saya menemukan ini dengan menjalankan mysqld secara langsung sebagai pengguna mysql.
Dengan cara ini Anda benar-benar melihat output kesalahan.
sumber
Saya juga punya masalah serupa. Item di bawah mengatakan mereka telah dihapus dari server mysql 5.5.
Jika Anda memilikinya
my.cnf
, itu tidak akan mulai. Berkomentarlah dengan mereka#
.(Info berasal dari: http://dev.mysql.com/doc/refman/5.5/en/replication-options-slave.html )
Opsi yang terpengaruh ditampilkan dalam daftar ini:
sumber
Tampaknya memunculkan kesalahan dalam konfigurasi MySQL, terletak di
/etc/mysql/my.cnf
dan file dalam/etc/mysql/conf.d/
.Dalam kasus saya itu adalah
bind-address
nilai yang salah , karena alamat IP mesin saya telah berubah dan MySQL tidak dapat mengikat lagi. Jangan ragu untuk membaca lebih lanjut tentang ini di artikel blog ini .sumber
Cara yang baik untuk men-debug kegagalan dalam proses pasca-mulai (
/etc/init/mysql.conf
) adalah dengan memeriksa log pemula:Itu memberi saya kesalahan soket:
Dalam kasus saya itu disebabkan oleh
user
pengaturan yang hilang di bawah[mysqld]
grup dimy.cnf
sumber
Ketika saya memiliki kesalahan MySQL yang serupa ("Pekerjaan gagal dimulai") setelah memutakhirkan dari 11,10 menjadi 12,04, komentar # 27 di https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/ 573318? Komentar = semua bekerja dengan baik untuk saya. Mengutip:
sumber
Bagi saya solusinya adalah menghapus garis ...
... yang merupakan sintaks MySQL 3.x dan perlu diubah ke
sumber
Saya memiliki masalah yang sama. Ternyata replikasi slave master mysql my.cnf. Periksa
/var/log/mysql/error.log
.Saya harap itu sedikit membantu. Periksa pengaturan mysql terlebih dahulu sebelum Anda menghabiskan dua jam dengan apparmor yang berfungsi dengan baik.
sumber
Saya memiliki masalah yang sama, bagi saya file
bind-address
itu tidak diatur dengan benar/etc/mysql/my.cnf
. Jadi sepertinya apa pun yang tidak benar di my.cnf dapat menyebabkan masalah ini. Saya belum menemukan apa pun di log yang menunjukkan ini sebagai masalah.sumber
Masalah saya adalah 0% ruang kosong! Periksa ulang :-)
sumber
Periksalah
/tmp
izinnya. Saya mengalami masalah ini, setelah berkali-kali google dan restart, saya menemukan bahwa/tmp
izin adalah 755.Saya mengubahnya ke 777 dan
mysql
mulai dengan baik.sumber
/tmp
partisi baru.Setelah pembaruan otomatis ke mysqld-5.5.53 ubuntu 14.04.1, mysql tidak akan mulai. Baris-baris ini muncul di syslog saya:
Masalahnya dipecahkan dengan membuat direktori ini:
sumber
Baru saja memperbarui versi MySQL dan AppArmor seperti yang disarankan di sini untuk memperbaiki masalah ini pada Ubuntu 12.04 yang berjalan di Amazon ec2 misalnya. Saya masih mendapatkan kesalahan beberapa kali tetapi MySQL me-restart sendiri secara otomatis.
sumber
Saya memiliki pesan kesalahan yang sama, tetapi penyebabnya berbeda. Tabel InnoDB saya rusak, karena seluruh sistem file beralih ke mode read-only. Saya memperbaiki korupsi dengan menambahkan baris berikut ke /etc/mysql/my.cf
Saya memulai MySQL:
MySQL memang memulai dan saya membuang / mengekspor semua tabel. Saya mengubah innodb_force_recovery ke 0 (= default) dan memulai kembali MySQL:
Saya menggunakan Ubuntu 12.04 dengan MySQL 5.5. Butuh waktu lama sebelum saya menemukan masalah dan saya harap saya dapat membantu seseorang dengan jawaban ini. Lihat juga http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
sumber
Dalam kasus saya masalahnya adalah
/etc/mysql/my.cnf
izin file.Saya mengubahnya untuk kenyamanan tapi itu menyebabkan erro suka
Itu
my.cnf
izin adalah 766 dan saya berubah ke 744 dan dua dari tiga kesalahan pergi. Masih ada satu pesan kesalahan serupa tetapi tidak mencegah mysql dari memulai.Semoga ini membantu...
sumber
Dalam kasus saya, saya salah
bind-address
deklarasi. Saya berlariifconfig
untuk menemukan alamat IP pribadi EC2 dan memperbaruinya dalam/etc/mysql/my.cnf
file.sumber
Dalam kasus saya, saya menemukan masalah izin pada / tmp. Saya baru saja mengatur izin direktori tmp ke 766 dan memulai kembali layanan mysql. Diperbaiki.
sumber