Setelah menginstal MySQL, ada beberapa masalah yang harus Anda tangani. Misalnya, di Unix, Anda harus menginisialisasi direktori data dan membuat tabel hibah MySQL. Di semua platform, masalah keamanan yang penting adalah bahwa akun awal di tabel hibah tidak memiliki kata sandi. Anda harus menetapkan kata sandi untuk mencegah akses tidak sah ke server MySQL. Opsional, Anda dapat membuat tabel zona waktu untuk mengaktifkan pengenalan zona waktu bernama Show Bagian berikut mencakup prosedur pasca-instalasi yang khusus untuk sistem Windows dan sistem Unix. Bagian lain, , berlaku untuk semua platform; . , juga berlaku untuk semua platform. Anda harus mengikuti petunjuknya untuk memastikan bahwa Anda telah melindungi akun MySQL Anda dengan benar dengan menetapkan kata sandi untuk akun tersebut 2. 10. 1. Prosedur Pasca-Instalasi WindowsDi Windows, direktori data dan tabel hibah tidak harus dibuat. Distribusi MySQL Windows menyertakan tabel hibah dengan sekumpulan akun yang telah diprainisialisasi di database mysqld: Can't find file: 'host.frm'7 di bawah direktori data. Tidak perlu menjalankan skrip mysql_install_db yang digunakan di Unix. Mengenai kata sandi, jika Anda menginstal MySQL menggunakan Wisaya Instalasi Windows, Anda mungkin telah menetapkan kata sandi ke akun. (Lihat. ) Jika tidak, gunakan prosedur penetapan kata sandi yang diberikan di Sebelum mengatur kata sandi, Anda mungkin ingin mencoba menjalankan beberapa program klien untuk memastikan bahwa Anda dapat terhubung ke server dan beroperasi dengan benar. Pastikan server sedang berjalan (lihat ), lalu keluarkan perintah berikut untuk memverifikasi bahwa Anda dapat mengambil informasi dari server. Outputnya harus mirip dengan apa yang ditampilkan di sini C:\>_ Jika Anda menjalankan versi Windows yang mendukung layanan dan Anda ingin server MySQL berjalan secara otomatis saat Windows dijalankan, lihat 2. 10. 2. Prosedur Pasca-Instalasi UnixSetelah menginstal MySQL di Unix, Anda perlu menginisialisasi tabel hibah, memulai server, dan memastikan server berfungsi dengan baik. Anda mungkin juga ingin mengatur agar server dimulai dan dihentikan secara otomatis saat sistem Anda mulai dan berhenti. Anda juga harus menetapkan kata sandi ke akun di tabel hibah Di Unix, tabel hibah diatur oleh program mysql_install_db. Untuk beberapa metode penginstalan, program ini dijalankan untuk Anda secara otomatis
Jika tidak, Anda harus menjalankan mysql_install_db sendiri Prosedur berikut menjelaskan cara menginisialisasi tabel hibah (jika sebelumnya belum pernah dilakukan) dan kemudian memulai server. Itu juga menyarankan beberapa perintah yang dapat Anda gunakan untuk menguji apakah server dapat diakses dan berfungsi dengan baik. Untuk informasi tentang memulai dan menghentikan server secara otomatis, lihat Setelah Anda menyelesaikan prosedur dan menjalankan server, Anda harus menetapkan kata sandi ke akun yang dibuat oleh mysql_install_db. Instruksi untuk melakukannya diberikan di Dalam contoh yang ditampilkan di sini, server berjalan di bawah ID pengguna dari akun masuk mysqld: Can't find file: 'host.frm'7. Ini mengasumsikan bahwa akun seperti itu ada. Buat akun jika tidak ada, atau ganti nama akun masuk lain yang sudah ada yang Anda rencanakan untuk digunakan untuk menjalankan server
MySQL5. 0 prosedur instalasi membuat tabel zona waktu di database mysqld: Can't find file: 'host.frm'7. Namun, Anda harus mengisi tabel secara manual menggunakan petunjuk di 2. 10. 2. 1. Masalah Menjalankan mysql_install_dbTujuan dari skrip mysql_install_db adalah untuk menghasilkan tabel hak istimewa MySQL baru. Itu tidak menimpa tabel hak istimewa MySQL yang ada, dan tidak memengaruhi data lainnya Jika Anda ingin membuat ulang tabel hak istimewa Anda, pertama-tama hentikan server mysqld jika sedang berjalan. Kemudian ganti nama direktori mysqld: Can't find file: 'host.frm'_7 di bawah direktori data untuk menyimpannya, lalu jalankan mysql_install_db. Misalkan direktori Anda saat ini adalah direktori instalasi MySQL dan mysql_install_db terletak di direktori shell>3 dan direktori data bernama shell>3. Untuk mengganti nama mysqld: Can't find file: 'host.frm'7 database dan menjalankan kembali mysql_install_db, gunakan perintah ini shell>_3 Saat Anda menjalankan mysql_install_db, Anda mungkin mengalami masalah berikut
Ada beberapa alternatif untuk menjalankan skrip mysql_install_db yang disediakan dalam distribusi MySQL
2. 10. 2. 2. Memulai dan Menghentikan MySQL Secara OtomatisUmumnya, Anda memulai server mysqld dengan salah satu cara berikut
mysqld_safe dan mysql. skrip server dan Item Startup Mac OS X dapat digunakan untuk memulai server secara manual, atau secara otomatis pada waktu startup sistem. mysql. server dan Startup Item juga dapat digunakan untuk menghentikan server Untuk memulai atau menghentikan server secara manual menggunakan mysql. skrip server, aktifkan dengan shell>18 atau shell>19 argumen shell>_0 Sebelum mysql. server memulai server, mengubah lokasi ke direktori instalasi MySQL, dan kemudian memanggil mysqld_safe. Jika Anda ingin server dijalankan sebagai pengguna tertentu, tambahkan opsi shell> 7 yang sesuai ke grup shell>21 dari file opsi shell>22, seperti yang ditunjukkan nanti di bagian ini. (Ada kemungkinan Anda perlu mengedit mysql. server jika Anda menginstal distribusi biner MySQL di lokasi yang tidak standar. Ubah ke shell>23 ke direktori yang tepat sebelum menjalankan mysqld_safe. Jika Anda melakukan ini, versi mysql Anda yang dimodifikasi. server dapat ditimpa jika Anda memutakhirkan MySQL di masa mendatang, jadi Anda harus membuat salinan versi yang telah diedit agar dapat diinstal ulang. ) mysql. server stop menghentikan server dengan mengirimkan sinyal ke sana. Anda juga dapat menghentikan server secara manual dengan menjalankan shutdown mysqladmin Untuk memulai dan menghentikan MySQL secara otomatis di server Anda, Anda perlu menambahkan perintah start dan stop ke tempat yang sesuai di file shell>24 Anda Jika Anda menggunakan paket RPM server Linux ( shell>25 shell> 6. rpm), mysql. skrip server dipasang di direktori shell>_27 dengan nama mysqld: Can't find file: 'host.frm'7. Anda tidak perlu menginstalnya secara manual. Lihat Bagian 2. 4, “Menginstal MySQL di Linux”, untuk informasi lebih lanjut tentang paket RPM Linux Beberapa vendor menyediakan paket RPM yang memasang skrip startup dengan nama yang berbeda seperti mysqld Jika Anda menginstal MySQL dari distribusi sumber atau menggunakan format distribusi biner yang tidak menginstal mysql. server secara otomatis, Anda dapat menginstalnya secara manual. Skrip dapat ditemukan di direktori shell>_29 di bawah direktori instalasi MySQL atau di pohon sumber MySQL Untuk menginstal mysql. server secara manual, salin ke direktori shell>_27 dengan nama mysql, lalu buat agar dapat dieksekusi. Lakukan ini dengan mengubah lokasi menjadi direktori yang sesuai di mana mysql. server berada dan menjalankan perintah ini shell>_1 Sistem Red Hat yang lebih lama menggunakan direktori shell>_31 daripada shell>27. Sesuaikan perintah sebelumnya sesuai. Alternatifnya, pertama-tama buat shell>27 sebagai tautan simbolik yang mengarah ke shell>31 shell>_2 Setelah menginstal skrip, perintah yang diperlukan untuk mengaktifkannya agar berjalan saat startup sistem bergantung pada sistem operasi Anda. Di Linux, Anda dapat menggunakan shell>_35 shell>_3 Pada beberapa sistem Linux, perintah berikut juga diperlukan untuk mengaktifkan sepenuhnya skrip mysql shell>_4 Di FreeBSD, skrip startup umumnya harus masuk shell>36. Halaman manual shell>37 menyatakan bahwa skrip dalam direktori ini dijalankan hanya jika nama dasarnya cocok dengan pola nama file shell shell>38. File atau direktori lain yang ada di dalam direktori akan diabaikan secara diam-diam. Dengan kata lain, di FreeBSD, Anda harus menginstal skrip shell>39 sebagai shell>40 untuk mengaktifkan startup otomatis Sebagai alternatif dari penyiapan sebelumnya, beberapa sistem operasi juga menggunakan shell>41 atau shell>42 untuk memulai layanan tambahan saat startup. Untuk memulai MySQL menggunakan metode ini, Anda dapat menambahkan perintah seperti berikut ke file startup yang sesuai shell>_5 Untuk sistem lain, lihat dokumentasi sistem operasi Anda untuk mengetahui cara menginstal skrip startup Anda dapat menambahkan opsi untuk mysql. server dalam file shell>_22 global. File shell>_22 biasa mungkin terlihat seperti ini shell>_6 mysql. skrip server memahami opsi berikut. shell>_45, shell>46, dan shell>47. Jika ditentukan, mereka harus ditempatkan di file opsi, bukan di baris perintah. mysql. server hanya memahami shell>18 dan shell>19 sebagai argumen baris perintah Tabel berikut menunjukkan opsi mana yang mengelompokkan server dan setiap skrip startup yang dibaca dari file opsi ScriptOption Groupsmysqld shell>21, shell>51, shell>52 shell>53]mysqld_safe shell>21, shell>51, shell>56mysql. server shell>21, shell>58, shell>51 shell>_52 shell>53] berarti grup dengan nama seperti shell>62 dan shell>63 dibaca oleh server yang memiliki versi 4. 1. x, 5. 0. x, dan seterusnya. Fitur ini dapat digunakan untuk menentukan opsi yang hanya dapat dibaca oleh server dalam seri rilis tertentu Untuk kompatibilitas mundur, mysql. server juga membaca grup shell>64 dan mysqld_safe juga membaca grup shell>65. Namun, Anda harus memperbarui file opsi untuk menggunakan grup shell>58 dan shell>56 saat menggunakan MySQL 5. 0 Lihat 2. 10. 2. 3. Memulai dan Memecahkan Masalah Server MySQLBagian ini memberikan saran pemecahan masalah untuk masalah memulai server di Unix. Jika Anda menggunakan Windows, lihat Jika Anda mengalami masalah saat memulai server, berikut adalah beberapa hal untuk dicoba
Beberapa mesin penyimpanan memiliki opsi yang mengontrol perilakunya. Anda dapat membuat file shell>68 dan menentukan opsi startup untuk mesin yang akan Anda gunakan. Jika Anda akan menggunakan mesin penyimpanan yang mendukung tabel transaksional ( shell>69, shell>70, shell>71), pastikan Anda telah mengonfigurasinya seperti yang Anda inginkan sebelum memulai server Mesin penyimpanan akan menggunakan nilai opsi default jika Anda tidak menentukannya, tetapi disarankan agar Anda meninjau opsi yang tersedia dan menentukan nilai eksplisit untuk opsi yang defaultnya tidak sesuai untuk instalasi Anda Ketika server mysqld dimulai, itu mengubah lokasi ke direktori data. Di sinilah diharapkan untuk menemukan database dan di mana diharapkan untuk menulis file log. Server juga menulis file pid (process ID) di direktori data Lokasi direktori data tertanam saat server dikompilasi. Di sinilah server mencari direktori data secara default. Jika direktori data terletak di tempat lain di sistem Anda, server tidak akan berfungsi dengan baik. Anda dapat menentukan pengaturan jalur default dengan mengaktifkan mysqld dengan opsi shell>72 dan shell> 0Jika lokasi default tidak cocok dengan tata letak instalasi MySQL di sistem Anda, Anda dapat menimpanya dengan menentukan opsi ke mysqld atau mysqld_safe di baris perintah atau di file opsi Untuk menentukan lokasi direktori data secara eksplisit, gunakan opsi shell>74. Namun, biasanya Anda dapat memberi tahu mysqld lokasi direktori dasar tempat MySQL diinstal dan mencari direktori data di sana. Anda dapat melakukannya dengan opsi shell>_75 Untuk memeriksa efek dari menentukan opsi jalur, aktifkan mysqld dengan opsi tersebut diikuti dengan opsi shell>72 dan shell> 0. Misalnya, jika Anda mengubah lokasi menjadi direktori tempat mysqld diinstal dan kemudian menjalankan perintah berikut, ini menunjukkan efek memulai server dengan direktori dasar shell>2 shell>_7 Anda juga dapat menentukan opsi lain seperti shell>_74, tetapi shell>72 dan shell> 0 harus menjadi opsi terakhirSetelah Anda menentukan pengaturan jalur yang Anda inginkan, mulai server tanpa shell>72 dan shell> 0Jika mysql sedang berjalan, Anda dapat mengetahui pengaturan jalur apa yang digunakannya dengan menjalankan perintah ini shell>_8 Atau shell>_9 shell>_84 adalah nama host server MySQL Jika Anda mendapatkan shell>85 (yang berarti shell>86) saat memulai mysqld, ini berarti hak istimewa direktori data atau kontennya tidak mengizinkan akses server. Dalam hal ini, Anda mengubah izin untuk file dan direktori yang terlibat sehingga server memiliki hak untuk menggunakannya. Anda juga dapat memulai server sebagai shell>_7, tetapi ini menimbulkan masalah keamanan dan harus dihindari Di Unix, ubah lokasi menjadi direktori data dan periksa kepemilikan direktori data dan isinya untuk memastikan server memiliki akses. Misalnya, jika direktori data adalah shell>_88, gunakan perintah ini shell> 0Jika direktori data atau file atau subdirektorinya tidak dimiliki oleh akun login yang Anda gunakan untuk menjalankan server, ubah kepemilikannya ke akun tersebut. Jika akun bernama mysqld: Can't find file: 'host.frm'_7, gunakan perintah ini shell> 1Jika server gagal memulai dengan benar, periksa log kesalahan. File log terletak di direktori data (biasanya shell>90 di Windows, shell>91 untuk distribusi biner Unix, dan shell>92 untuk distribusi sumber Unix). Lihat di direktori data untuk file dengan nama formulir shell>93 shell>84. salah dan shell>93 shell>84. log, di mana shell>84 adalah nama host server Anda. Kemudian periksa beberapa baris terakhir dari file-file ini. Di Unix, Anda dapat menggunakan shell>_98 untuk menampilkannya shell> 2Log kesalahan harus berisi informasi yang menunjukkan mengapa server tidak dapat dimulai. Misalnya, Anda mungkin melihat sesuatu seperti ini di log shell> 3Ini berarti bahwa Anda tidak memulai mysqld dengan opsi shell>99 dan Berkeley DB menemukan sesuatu yang salah dengan file lognya sendiri ketika mencoba memulihkan database Anda. Untuk dapat melanjutkan, Anda harus memindahkan file log Berkeley DB lama dari direktori database ke tempat lain, di mana nanti Anda dapat memeriksanya. File log shell>70 dinamai secara berurutan dimulai dengan shell>01, di mana jumlahnya bertambah seiring waktu Jika Anda menjalankan mysqld dengan dukungan tabel shell>70 dan inti dump mysqld saat startup, ini mungkin karena masalah dengan log pemulihan shell>70. Dalam hal ini, Anda dapat mencoba memulai mysqld dengan shell>99. Jika itu membantu, Anda harus menghapus semua file log shell>_70 dari direktori data dan coba mulai mysqld lagi tanpa opsi shell>99 Jika salah satu dari kesalahan berikut terjadi, itu berarti bahwa beberapa program lain (mungkin server mysqld lain) menggunakan port TCP/IP atau file soket Unix yang coba digunakan oleh mysqld shell> 4Gunakan ps untuk menentukan apakah Anda menjalankan server mysqld lain. Jika demikian, matikan server sebelum memulai mysqld lagi. (Jika server lain sedang berjalan, dan Anda benar-benar ingin menjalankan beberapa server, Anda dapat menemukan informasi tentang cara melakukannya di Bagian 5. 13, “Menjalankan Banyak Server MySQL di Mesin yang Sama”. ) Jika tidak ada server lain yang berjalan, coba jalankan perintah shell>07 shell>08 shell>09. (Nomor port MySQL default adalah 3306. ) Lalu tekan Enter beberapa kali. Jika Anda tidak mendapatkan pesan kesalahan seperti shell>10, beberapa program lain menggunakan port TCP/IP yang coba digunakan oleh mysqld. Anda harus melacak program apa ini dan menonaktifkannya, atau beri tahu mysqld untuk mendengarkan port lain dengan opsi shell>11. Dalam hal ini, Anda juga perlu menentukan nomor port untuk program klien saat terhubung ke server melalui TCP/IP Alasan lain port mungkin tidak dapat diakses adalah karena Anda menjalankan firewall yang memblokir koneksi ke port tersebut. Jika demikian, ubah pengaturan firewall untuk mengizinkan akses ke port Jika server dimulai tetapi Anda tidak dapat menyambungkannya, Anda harus memastikan bahwa Anda memiliki entri di shell>12 yang terlihat seperti ini shell> 5Masalah ini terjadi hanya pada sistem yang tidak memiliki pustaka utas yang berfungsi dan MySQL harus dikonfigurasi untuk menggunakan MIT-pthreads Jika Anda tidak dapat memulai mysqld, Anda dapat mencoba membuat file jejak untuk menemukan masalahnya dengan menggunakan opsi shell>13. Lihat 2. 10. 3. Mengamankan Akun MySQL AwalBagian dari proses instalasi MySQL adalah menyiapkan database mysqld: Can't find file: 'host.frm'7 yang berisi tabel hibah
Tabel hibah menentukan akun pengguna MySQL awal dan hak aksesnya. Akun-akun ini diatur sebagai berikut
Sebagaimana dicatat, tidak ada akun awal yang memiliki kata sandi. Ini berarti instalasi MySQL Anda tidak terlindungi sampai Anda melakukan sesuatu
Instruksi berikut menjelaskan cara menyiapkan kata sandi untuk akun MySQL awal, pertama untuk akun anonim dan kemudian untuk akun shell>7. Ganti “ shell>_29” pada contoh dengan kata sandi sebenarnya yang ingin Anda gunakan. Petunjuk juga mencakup cara menghapus akun anonim, jika Anda memilih untuk tidak mengizinkan akses anonim sama sekali Anda mungkin ingin menunda pengaturan kata sandi hingga nanti, sehingga Anda tidak perlu menentukannya saat melakukan penyiapan atau pengujian tambahan. Namun, pastikan untuk mengaturnya sebelum menggunakan instalasi Anda untuk tujuan produksi Penetapan Kata Sandi Akun Anonim Untuk menetapkan kata sandi ke akun anonim, sambungkan ke server sebagai shell>7 lalu gunakan shell>31 atau shell>32. Dalam kedua kasus tersebut, pastikan untuk mengenkripsi kata sandi menggunakan fungsi shell>33 Untuk menggunakan shell>_31 di Windows, lakukan ini shell> 6Untuk menggunakan shell>_31 di Unix, lakukan ini shell> 7Pada pernyataan shell>_31 kedua, ganti shell>84 dengan nama host server. Ini adalah nama yang ditentukan dalam kolom shell>38 dari catatan non- shell>20 untuk shell>7 dalam tabel shell> 7. Jika Anda tidak tahu apa nama host ini, keluarkan pernyataan berikut sebelum menggunakan shell>31 shell> 8Cari catatan yang memiliki shell>7 di kolom shell>44 dan sesuatu selain shell>20 di kolom ________10______38. Kemudian gunakan nilai shell>_38 di pernyataan shell>31 kedua Cara lain untuk menetapkan kata sandi ke akun anonim adalah dengan menggunakan shell>32 untuk mengubah tabel shell> 7 secara langsung. Sambungkan ke server sebagai shell>_7 dan keluarkan pernyataan shell>32 yang memberikan nilai ke kolom shell>53 dari catatan tabel shell> 7 yang sesuai. Prosedurnya sama untuk Windows dan Unix. Pernyataan shell>_32 berikut memberikan kata sandi untuk kedua akun anonim sekaligus shell> _9Setelah Anda memperbarui kata sandi di tabel shell> _7 secara langsung menggunakan shell>32, Anda harus memberi tahu server untuk membaca ulang tabel hibah dengan shell>58. Jika tidak, perubahan tidak diketahui sampai Anda me-restart server Penghapusan Akun Anonim Jika Anda lebih suka menghapus akun anonim, lakukan sebagai berikut mysqld: Can't find file: 'host.frm'0 Pernyataan shell>_59 berlaku untuk Windows dan Unix. Di Windows, jika Anda hanya ingin menghapus akun anonim yang memiliki hak istimewa yang sama dengan shell>7, lakukan ini saja mysqld: Can't find file: 'host.frm'_1 Akun itu memungkinkan akses anonim tetapi memiliki hak istimewa penuh, jadi menghapusnya akan meningkatkan keamanan shell>_7 Penetapan Kata Sandi Akun Anda dapat menetapkan kata sandi ke akun shell>7 dengan beberapa cara. Pembahasan berikut menunjukkan tiga metode
Untuk menetapkan kata sandi menggunakan shell>_31, sambungkan ke server sebagai shell>7 dan keluarkan dua pernyataan shell>31. Pastikan untuk mengenkripsi kata sandi menggunakan fungsi ________10______33 Untuk Windows, lakukan ini mysqld: Can't find file: 'host.frm'_2 Untuk Unix, lakukan ini mysqld: Can't find file: 'host.frm'_3 Pada pernyataan shell>_31 kedua, ganti shell>84 dengan nama host server. Ini adalah nama host yang sama yang Anda gunakan saat menetapkan kata sandi akun anonim Untuk menetapkan kata sandi ke akun shell>_7 menggunakan mysqladmin, jalankan perintah berikut mysqld: Can't find file: 'host.frm'_4 Perintah-perintah ini berlaku untuk Windows dan Unix. Pada perintah kedua, ganti shell>_84 dengan nama host server. Tanda kutip ganda di sekitar kata sandi tidak selalu diperlukan, tetapi Anda harus menggunakannya jika kata sandi berisi spasi atau karakter lain yang khusus untuk penerjemah perintah Anda Anda juga dapat menggunakan shell>_32 untuk memodifikasi tabel shell> 7 secara langsung. Pernyataan shell>_32 berikut memberikan kata sandi untuk kedua akun shell>7 sekaligus mysqld: Can't find file: 'host.frm'5 Pernyataan shell>_32 berlaku untuk Windows dan Unix Setelah kata sandi diatur, Anda harus memberikan kata sandi yang sesuai setiap kali Anda terhubung ke server. Misalnya, jika Anda ingin menggunakan mysqladmin untuk mematikan server, Anda dapat melakukannya dengan menggunakan perintah ini mysqld: Can't find file: 'host.frm'_6 Catatan. Jika Anda lupa kata sandi shell>_7 setelah menyiapkannya, , mencakup prosedur untuk mengatur ulang Apa yang dilakukan skrip mysql_install_db?Tujuan dari program mysql_install_db adalah untuk menginisialisasi direktori data, termasuk tabel di database sistem mysql . Itu tidak menimpa tabel hak istimewa MySQL yang ada, dan tidak memengaruhi data lainnya. Untuk membuat ulang tabel hak istimewa Anda, pertama-tama hentikan server mysqld jika sedang berjalan.
Apa yang harus dilakukan setelah instalasi MySQL?Setelah Anda menginstal MySQL (baik dari distribusi biner atau sumber), Anda perlu menginisialisasi tabel hibah, memulai server, dan memastikan server bekerja dengan baik . Anda mungkin juga ingin mengatur agar server dimulai dan dihentikan secara otomatis saat sistem Anda dinyalakan dan dimatikan. . You may also wish to arrange for the server to be started and stopped automatically when your system starts up and shuts down.
Bagaimana cara memulai MySQL setelah instalasi?Luncurkan Klien Baris Perintah MySQL. Untuk meluncurkan klien, masukkan perintah berikut di jendela Command Prompt. mysql -u root -p . Opsi -p diperlukan hanya jika kata sandi root ditentukan untuk MySQL. Masukkan kata sandi saat diminta. |