Cara menginstal mysql di Ubuntu 16.04

8

Saya mengikuti tutorial laut digital ini untuk Ubuntu 14.04 untuk menginstal mysql di Ubuntu 16.04 untuk proyek Rails saya. Saya mungkin salah berasumsi bahwa prosedurnya sama.

Namun, ketika saya menjalankan perintah sudo mysql_install_db, saya menerima kesalahan berikut:

2016-06-15 18:40:36 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-06-15 18:40:36 [ERROR]   The data directory needs to be specified.

Bagaimana saya bisa menyelesaikan pengaturan? Saya telah berhasil mengikuti prosedur yang sama beberapa kali sebelumnya di Ubuntu 14.04.

Jawad Khawaja
sumber
4
Bagaimana jika Anda melakukan apa yang menyarankan: mysqld --initialize?
Jos
2
@ Jo Ini memberikan kesalahan berikut:mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists) 2016-06-15T14:00:28.483462Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-06-15T14:00:28.484374Z 0 [ERROR] Aborting
Jawad Khawaja
2
Anda mungkin dapat mengatasi masalah itu dengan menghapus direktori /var/lib/mysqldan menjalankan kembali --initializeproses tersebut.
Yos
1
Terima kasih untuk itu! Saya khawatir itu dapat menyebabkan masalah karena berisi sejumlah file. Tapi itu berhasil. Saya telah menyelesaikan instalasi sekarang.
Jawad Khawaja
@ Jo Anda harus memposting komentar Anda sebagai jawaban.
Byte Commander

Jawaban:

9

Instalasi server MySQL melibatkan sekitar tiga langkah: 1) membongkar perangkat lunak; 2) membuat database default; 3) membuat pengguna / kata sandi default (dan menyimpannya dalam database).

Jika Anda secara tidak sengaja kehilangan file database (biasanya terletak di /var/lib/mysql) maka Anda dapat memulai lagi tanpa sepenuhnya menginstal ulang paket server. Ini dilakukan dengan perintah mysqld --initialize. Jika Anda menjalankan perintah ini ketika database sudah ada, itu akan melaporkan kesalahan ("File ada") dan itu tidak akan mencoba untuk menimpa database. Namun, jika Anda tidak yakin apakah prosedur instalasi telah selesai dengan benar, tidak apa-apa untuk menghapus direktori /var/lib/mysqldan menginisialisasi ulang database.

The --initializebendera akan menyebabkan MySQL untuk menghasilkan user root dan password acak, yang kemudian ditulis ke file log. Untuk informasi lebih lanjut, lihat man mysqld.

Jos
sumber