MacPorts menyertakan beberapa versi MySQL dan beberapa garpunya. Anda dapat menginstal salah satu atau semua versi ini secara bersamaan, meskipun diharapkan Anda hanya perlu menginstal salah satunya
- MySQL
- mysql8. MySQL v8. x. Ini adalah versi stabil terbaru dari MySQL yang tersedia untuk Umum pada 19-04-2019
- mysql57. MySQL v5. 7. x. Dukungan berakhir Oktober 2020
- mysql56. MySQL v5. 6. x. Dukungan berakhir pada Februari 2018
- mysql55. MySQL v5. 5. x. Dukungan berakhir pada Desember 2015
- mysql51. MySQL v5. 1. x. Versi ini mencapai akhir masa pakainya pada akhir tahun 2013 dan karenanya tidak lagi direkomendasikan
- MariaDB. garpu MySQL yang dibuat oleh pengembang MySQL asli setelah akuisisi MySQL AB oleh Sun Microsystems
- mariadb-10. 4. MariaDB v10. 4. x. Ini adalah versi stabil terbaru dari MariaDB
- mariadb-10. 3. MariaDB v10. 3. x. Ini adalah versi stabil MariaDB yang lebih lama
- mariadb-10. 2. MariaDB v10. 2. x. Ini adalah versi stabil terbaru dari MariaDB yang telah diporting ke MacPorts pada 7/8/19. Dukungan yang diharapkan berakhir pada Mei 2023
- mariadb. MariaDB v5. 5. x. Dukungan diharapkan hingga 2020
- Percona. garpu MySQL lainnya
- percona. Percona Server v8. 0. x
Untuk setiap port di atas, ada port pendamping "-server" yang harus Anda instal jika ingin menjalankan server tersebut
Halaman ini menunjukkan cara menginstal dan menggunakan port mysql56, tetapi Anda dapat menggunakan versi lain jika Anda mau;
Langkah 1. Instal MySQL
Jika Anda ingin menjalankan server MySQL di komputer ini, instal MySQL seperti ini
$ sudo port install mysql8-server
Pilih versi yang terinstal untuk menjadi versi default
$ sudo port select mysql mysql8_
Langkah 2. Buat basis data
Untuk MySQL5. 7 dan lebih baru
$ sudo /opt/local/lib/mysql8/bin/mysqld --initialize --user=_mysql
Catat kata sandi pengguna root yang dihasilkan secara otomatis
Untuk MySQL5. 6 dan sebelumnya
$ sudo -u _mysql mysql_install_db
[kata sandi awal kosong untuk MySQL 5. 6 dan sebelumnya]
Tetapkan pemiliknya
$ sudo chown -R _mysql:_mysql /opt/local/var/db/mysql8/ $ sudo chown -R _mysql:_mysql /opt/local/var/run/mysql8/ $ sudo chown -R _mysql:_mysql /opt/local/var/log/mysql8/_
Langkah 3. Mulai MySQL
Aktifkan server MySQL Anda sehingga mulai otomatis saat Anda mem-boot mesin Anda
$ sudo port load mysql8-server
dan kemudian verifikasi bahwa itu sedang berjalan
$ ps -ax | grep mysql_
Jika berjalan, perintah akan mengembalikan sesuatu seperti
/opt/local/bin/daemondo --label=mysql8-server --start-cmd /opt/local/lib/mysql8/bin/mysqld --user=_mysql ; --pid=exec /opt/local/lib/mysql8/bin/mysqld --user=_mysql grep mysql
Langkah 4. Tetapkan kata sandi MySQL
Tetapkan kata sandi MySQL
$ sudo /opt/local/lib/mysql8/bin/mysqld --initialize --user=_mysql_6 [gunakan kata sandi yang dibuat secara otomatis dari perintah --initialize di atas untuk MySQL 5. 7. Untuk MySQL5. 6 dan sebelumnya kata sandi saat ini harus kosong;
$ /opt/local/lib/mysql8/bin/mysqladmin -u root -p password_
Masukkan kata kunci
Kata sandi baru
Konfirmasi password baru
Pertama-tama Anda akan dimintai kata sandi yang ada [Masukkan kata sandi. ];
Maka `adalah kata sandi root baru yang Anda inginkan, diikuti oleh Return
Uji semuanya dengan masuk ke server
$ mysql -u root -p
Anda akan diminta
Masukkan kata kunci
Masukkan
Jika Anda menerima pesan
KESALAHAN 1045 [28000]. Akses ditolak untuk pengguna 'root'@'localhost' [menggunakan kata sandi. YA]
Itu berarti Anda telah memasukkan kata sandi yang salah. Coba lagi
Setelah Anda masuk, cukup keluar dari sesi seperti ini
$ sudo port select mysql mysql8_0
Jika diinginkan, reboot mesin Anda lalu jalankan
$ ps -ax | grep mysql_
lagi untuk memverifikasi bahwa daemon sudah berjalan kembali
Langkah 5. Konfigurasi keamanan opsional
Ada program interaktif untuk mengamankan instalasi MySQL
$ sudo port select mysql mysql8_2
Lihat juga
Langkah 6. Pembaruan basis data jika diperlukan
Jika database ada dari instalasi sebelumnya, Anda mungkin perlu memutakhirkan
$ sudo port select mysql mysql8_3
Konfigurasi saya. cnf
/opt/local/etc/mysql8/my. cnf adalah tempat yang bagus untuk menyesuaikan instalasi mysql8 Anda
Pada aktivasi jika tidak ada /opt/local/etc/mysql8/my. file cnf ada yang akan dibuat yang memuat /opt/local/etc/mysql8/macports-default. cnf
Setiap perubahan yang dilakukan pada /opt/local/etc/mysql8/macports-default. cnf akan hilang selama upgrade port, penonaktifan atau aktivasi. Saat ini /opt/local/etc/mysql8/macports-default. cnf hanya berisi satu direktif; . Dengan jaringan yang dinonaktifkan, dimungkinkan untuk menginstal dan menjalankan semua port mysql MacPorts secara bersamaan
Memulai dan menghentikan server MySQL
Awal
$ sudo port load mysql8-server
Berhenti
$ sudo port select mysql mysql8_5
lihat e. g. https. // daftar. macports. org/pipermail/macports-users/2016-Juli/041178. html
Dimanakah …
lihat e. g
Perpustakaan dan file soket
Perintah
$ sudo port select mysql mysql8_6
akan memberi Anda beberapa petunjuk
file data
Ada beberapa subdirektori di bawah
$ sudo port select mysql mysql8_7
e. g
$ sudo port select mysql mysql8_8
inisialisasi gagal
$ sudo port select mysql mysql8_9
Anda mungkin ingin mencadangkan konten direktori data Anda atau jika Anda benar-benar yakin menghapus kontennya e. g
$ sudo /opt/local/lib/mysql8/bin/mysqld --initialize --user=_mysql0
dan kemudian jalankan kembali perintah inisialisasi mysqld
setel ulang kata sandi root
Lihat
Boot gagal dan Anda memerlukan log kesalahan
Anda dapat memeriksa /var/log/system. log untuk pesan terkait peluncuran server mysql. Jika tidak bisa boot, Anda mungkin melihat pesan seperti di bawah ini yang menunjukkan bahwa server mysql sedang respawning. Indikator lainnya adalah
$ ps -ax | grep mysql_
akan menunjukkan jumlah proses yang meningkat dan proses mysqld hanya akan muncul sesekali
$ sudo /opt/local/lib/mysql8/bin/mysqld --initialize --user=_mysql2
Pertanyaan stackoverflow berikut memiliki jawaban yang menunjukkan bagaimana Anda dapat memodifikasi plist yang sesuai untuk memberi Anda output stderr dari daemon server mysql
mysql_upgrade gagal
Anda mungkin berakhir dengan catch22 jika server mysql Anda tidak mau memulai karena pesan kegagalan seperti
$ sudo /opt/local/lib/mysql8/bin/mysqld --initialize --user=_mysql_3
kemudian mencoba menjalankan pemutakhiran mungkin memberi Anda
$ sudo /opt/local/lib/mysql8/bin/mysqld --initialize --user=_mysql_4
Jika direktori soket bernama,
$ sudo /opt/local/lib/mysql8/bin/mysqld --initialize --user=_mysql_7, kosong, berarti server tidak lagi berjalan dan soket bernama telah dihapus. Server mungkin gagal memulai atau macet. Tampilan di log sistem MacOS dan log server MySQL mungkin mengungkapkan