Apa saja masalah yang dapat terjadi saat menjalankan skrip mysql_install_db?

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

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 Windows

Di 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:\> C:\mysql\bin\mysqlshow +-----------+ | Databases | +-----------+ | mysql | | test | +-----------+ C:\> C:\mysql\bin\mysqlshow mysql Database: mysql +---------------------------+ | Tables | +---------------------------+ | columns_priv | | db | | func | | help_category | | help_keyword | | help_relation | | help_topic | | host | | proc | | procs_priv | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ C:\> C:\mysql\bin\mysql -e "SELECT Host,Db,User FROM db" mysql +------+-------+------+ | host | db | user | +------+-------+------+ | % | test% | | +------+-------+------+ _

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 Unix

Setelah 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 Anda menginstal MySQL di Linux menggunakan distribusi RPM, RPM server menjalankan mysql_install_db

  • Jika Anda menginstal MySQL di Mac OS X menggunakan distribusi PKG, penginstal akan menjalankan mysql_install_db

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

  1. Ubah lokasi menjadi direktori tingkat atas dari instalasi MySQL Anda, diwakili di sini oleh mysqld: Can't find file: 'host.frm' 9

    shell> cd BASEDIR _

    mysqld: Can't find file: 'host.frm' _9 mungkin seperti shell> bin/mysqladmin version shell> bin/mysqladmin variables 1 atau shell> bin/mysqladmin version shell> bin/mysqladmin variables 2. Langkah-langkah berikut mengasumsikan bahwa Anda berada di direktori ini

  2. Jika perlu, jalankan program mysql_install_db untuk menyiapkan tabel hibah MySQL awal yang berisi hak istimewa yang menentukan cara pengguna diizinkan untuk terhubung ke server. Anda harus melakukan ini jika Anda menggunakan tipe distribusi yang prosedur penginstalannya tidak menjalankan program untuk Anda

    Biasanya, mysql_install_db perlu dijalankan hanya saat pertama kali Anda menginstal MySQL, sehingga Anda dapat melewati langkah ini jika Anda memutakhirkan instalasi yang sudah ada. Namun, mysql_install_db tidak menimpa tabel hak istimewa yang ada, sehingga aman untuk dijalankan dalam keadaan apa pun

    Untuk menginisialisasi tabel hibah, gunakan salah satu dari perintah berikut, tergantung pada apakah mysql_install_db terletak di direktori shell> bin/mysqladmin version shell> bin/mysqladmin variables 3 atau shell> bin/mysqladmin version shell> bin/mysqladmin variables 4

    shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql

    Skrip mysql_install_db membuat direktori data server. Di bawah direktori data, ini membuat direktori untuk database mysqld: Can't find file: 'host.frm' 7 yang menampung semua hak istimewa database dan database shell> bin/mysqladmin version shell> bin/mysqladmin variables 6 yang dapat Anda gunakan untuk menguji MySQL. Skrip juga membuat entri tabel hak istimewa untuk shell> bin/mysqladmin version shell> bin/mysqladmin variables 7 dan akun pengguna anonim. Akun tidak memiliki kata sandi pada awalnya. Deskripsi tentang hak istimewa awal mereka diberikan di. Secara singkat, hak istimewa ini memungkinkan pengguna MySQL shell> bin/mysqladmin version shell> bin/mysqladmin variables 7 untuk melakukan apa saja, dan mengizinkan siapa saja untuk membuat atau menggunakan database dengan nama shell> bin/mysqladmin version shell> bin/mysqladmin variables 6 atau dimulai dengan shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 0

    Penting untuk memastikan bahwa direktori database dan file dimiliki oleh akun login mysqld: Can't find file: 'host.frm' 7 sehingga server memiliki akses baca dan tulis ke akun tersebut saat Anda menjalankannya nanti. Untuk memastikan ini, opsi shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 _2 harus digunakan seperti yang ditunjukkan jika Anda menjalankan mysql_install_db sebagai shell> bin/mysqladmin version shell> bin/mysqladmin variables 7. Jika tidak, Anda harus menjalankan skrip saat masuk sebagai mysqld: Can't find file: 'host.frm' 7, dalam hal ini Anda dapat menghilangkan opsi shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 2 dari perintah

    mysql_install_db membuat beberapa tabel di database mysqld: Can't find file: 'host.frm' 7, termasuk shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 7, shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 8, shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 9, shell> bin/mysqladmin -u root shutdown 0, shell> bin/mysqladmin -u root shutdown 1, shell> bin/mysqladmin -u root shutdown 2, dan lainnya. Lihat Bagian 5. 8, “Sistem Hak Istimewa Akses MySQL”, untuk daftar lengkap dan deskripsi tabel-tabel ini

    Jika Anda tidak ingin memiliki database shell> bin/mysqladmin version shell> bin/mysqladmin variables _6, Anda dapat menghapusnya dengan mysqladmin -u root drop test setelah memulai server

    Jika Anda mengalami masalah dengan mysql_install_db saat ini, lihat

  3. Mulai server MySQL

    shell> bin/mysqld_safe --user=mysql &

    Penting agar server MySQL dijalankan menggunakan akun login unprivileged (non-shell> bin/mysqladmin version shell> bin/mysqladmin variables 7). Untuk memastikan ini, opsi shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 _2 harus digunakan seperti yang ditunjukkan jika Anda menjalankan shell> bin/mysqladmin -u root shutdown 6 sebagai sistem shell> bin/mysqladmin version shell> bin/mysqladmin variables 7. Jika tidak, Anda harus menjalankan skrip saat masuk ke sistem sebagai mysqld: Can't find file: 'host.frm' 7, dalam hal ini Anda dapat menghilangkan opsi shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 2 dari perintah

    Instruksi lebih lanjut untuk menjalankan MySQL sebagai pengguna yang tidak memiliki hak diberikan di

    Jika Anda lalai membuat tabel hibah sebelum melanjutkan ke langkah ini, pesan berikut muncul di file log kesalahan saat Anda memulai server

    mysqld: Can't find file: 'host.frm'

    Jika Anda memiliki masalah lain saat memulai server, lihat

  4. Gunakan mysqladmin untuk memverifikasi bahwa server sedang berjalan. Perintah berikut memberikan tes sederhana untuk memeriksa apakah server aktif dan merespons koneksi

    shell> bin/mysqladmin version shell> bin/mysqladmin variables _

    Output dari versi mysqladmin sedikit berbeda tergantung pada platform dan versi MySQL Anda, tetapi harus serupa dengan yang ditampilkan di sini

    shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000

    Untuk melihat apa lagi yang dapat Anda lakukan dengan mysqladmin, aktifkan dengan opsi shell> bin/mysqld_safe --user=mysql --log & 0

  5. Verifikasi bahwa Anda dapat mematikan server

    shell> bin/mysqladmin -u root shutdown
  6. Verifikasi bahwa Anda dapat memulai server lagi. Lakukan ini dengan menggunakan mysqld_safe atau dengan mengaktifkan mysqld secara langsung. Sebagai contoh

    shell> bin/mysqld_safe --user=mysql --log &

    Jika mysqld_safe gagal, lihat

  7. Jalankan beberapa tes sederhana untuk memverifikasi bahwa Anda dapat mengambil informasi dari server. Outputnya harus mirip dengan apa yang ditampilkan di sini

    shell> bin/mysqlshow +-----------+ | Databases | +-----------+ | mysql | | test | +-----------+ shell> bin/mysqlshow mysql Database: mysql +---------------------------+ | Tables | +---------------------------+ | columns_priv | | db | | func | | help_category | | help_keyword | | help_relation | | help_topic | | host | | proc | | procs_priv | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ shell> bin/mysql -e "SELECT Host,Db,User FROM db" mysql +------+--------+------+ | host | db | user | +------+--------+------+ | % | test | | | % | test_% | | +------+--------+------+
  8. Ada benchmark suite di direktori shell> bin/mysqld_safe --user=mysql --log & _1 (di bawah direktori instalasi MySQL) yang dapat Anda gunakan untuk membandingkan kinerja MySQL pada platform yang berbeda. Suite patokan ditulis dalam Perl. Ini membutuhkan modul DBI Perl yang menyediakan antarmuka database-independen ke berbagai database, dan beberapa modul Perl tambahan lainnya

    shell> cd BASEDIR _0

    Modul-modul ini dapat diperoleh dari CPAN (http. // www. cpan. org/). Lihat juga

    Direktori shell> bin/mysqld_safe --user=mysql --log & _2 berisi hasil dari banyak proses pada database dan platform yang berbeda. Untuk menjalankan semua tes, jalankan perintah ini

    shell> cd BASEDIR _1

    Jika Anda tidak memiliki direktori shell> bin/mysqld_safe --user=mysql --log & 1, Anda mungkin menginstal MySQL menggunakan file RPM selain RPM sumber. (RPM sumber menyertakan direktori benchmark shell> bin/mysqld_safe --user=mysql --log & 1. ) Dalam hal ini, Anda harus menginstal benchmark suite terlebih dahulu sebelum dapat menggunakannya. Ada file benchmark RPM terpisah bernama shell> bin/mysqld_safe --user=mysql --log & 5shell> bin/mysqld_safe --user=mysql --log & 6-i386. rpm yang berisi kode benchmark dan data

    Jika Anda memiliki distribusi sumber, ada juga tes di subdirektori shell> bin/mysqld_safe --user=mysql --log & 7 yang dapat Anda jalankan. Misalnya, untuk menjalankan shell> bin/mysqld_safe --user=mysql --log & 8, jalankan perintah ini dari direktori tingkat atas distribusi sumber Anda

    shell> cd BASEDIR _2

    Hasil tes yang diharapkan dapat ditemukan di file shell> bin/mysqld_safe --user=mysql --log & 9

  9. Pada titik ini, Anda harus menjalankan server. Namun, tidak ada akun MySQL awal yang memiliki kata sandi, jadi Anda harus menetapkan kata sandi menggunakan petunjuk yang ada di

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_db

Tujuan 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> bin/mysqladmin version shell> bin/mysqladmin variables 3 dan direktori data bernama shell> bin/mysqlshow +-----------+ | Databases | +-----------+ | mysql | | test | +-----------+ shell> bin/mysqlshow mysql Database: mysql +---------------------------+ | Tables | +---------------------------+ | columns_priv | | db | | func | | help_category | | help_keyword | | help_relation | | help_topic | | host | | proc | | procs_priv | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ shell> bin/mysql -e "SELECT Host,Db,User FROM db" mysql +------+--------+------+ | host | db | user | +------+--------+------+ | % | test | | | % | test_% | | +------+--------+------+ 3. Untuk mengganti nama mysqld: Can't find file: 'host.frm' 7 database dan menjalankan kembali mysql_install_db, gunakan perintah ini

shell> cd BASEDIR _3

Saat Anda menjalankan mysql_install_db, Anda mungkin mengalami masalah berikut

  • mysql_install_db gagal menginstal tabel hibah

    Anda mungkin menemukan bahwa mysql_install_db gagal menginstal tabel hibah dan berhenti setelah menampilkan pesan berikut

    shell> cd BASEDIR _4

    Dalam hal ini, Anda harus memeriksa file log kesalahan dengan sangat hati-hati. Log harus ditempatkan di direktori shell> bin/mysqlshow +-----------+ | Databases | +-----------+ | mysql | | test | +-----------+ shell> bin/mysqlshow mysql Database: mysql +---------------------------+ | Tables | +---------------------------+ | columns_priv | | db | | func | | help_category | | help_keyword | | help_relation | | help_topic | | host | | proc | | procs_priv | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ shell> bin/mysql -e "SELECT Host,Db,User FROM db" mysql +------+--------+------+ | host | db | user | +------+--------+------+ | % | test | | | % | test_% | | +------+--------+------+ 5 yang dinamai oleh pesan kesalahan dan harus menunjukkan mengapa mysqld tidak dimulai. Jika Anda tidak mengerti apa yang terjadi, sertakan log saat Anda memposting laporan bug. Lihat Bagian 1. 8, “Cara Melaporkan Bug atau Masalah”

  • Ada proses mysqld berjalan

    Ini menunjukkan bahwa server sedang berjalan, dalam hal ini tabel hibah mungkin sudah dibuat. Jika demikian, tidak perlu menjalankan mysql_install_db sama sekali karena hanya perlu dijalankan sekali (ketika Anda menginstal MySQL pertama kali)

  • Menginstal server mysqld kedua tidak berfungsi saat satu server sedang berjalan

    Hal ini dapat terjadi ketika Anda sudah memiliki instalasi MySQL, tetapi ingin menempatkan instalasi baru di lokasi yang berbeda. Misalnya, Anda mungkin memiliki penginstalan produksi, namun Anda ingin membuat penginstalan kedua untuk tujuan pengujian. Umumnya masalah yang terjadi saat mencoba menjalankan server kedua adalah mencoba menggunakan antarmuka jaringan yang sedang digunakan oleh server pertama. Dalam hal ini, Anda akan melihat salah satu pesan kesalahan berikut

    shell> cd BASEDIR _5

    Untuk petunjuk penyiapan beberapa server, lihat Bagian 5. 13, “Menjalankan Banyak Server MySQL di Mesin yang Sama”

  • Anda tidak memiliki akses tulis ke direktori shell> bin/mysqlshow +-----------+ | Databases | +-----------+ | mysql | | test | +-----------+ shell> bin/mysqlshow mysql Database: mysql +---------------------------+ | Tables | +---------------------------+ | columns_priv | | db | | func | | help_category | | help_keyword | | help_relation | | help_topic | | host | | proc | | procs_priv | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ shell> bin/mysql -e "SELECT Host,Db,User FROM db" mysql +------+--------+------+ | host | db | user | +------+--------+------+ | % | test | | | % | test_% | | +------+--------+------+ 6

    Jika Anda tidak memiliki akses tulis untuk membuat file sementara atau file soket Unix di lokasi default (direktori shell> bin/mysqlshow +-----------+ | Databases | +-----------+ | mysql | | test | +-----------+ shell> bin/mysqlshow mysql Database: mysql +---------------------------+ | Tables | +---------------------------+ | columns_priv | | db | | func | | help_category | | help_keyword | | help_relation | | help_topic | | host | | proc | | procs_priv | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ shell> bin/mysql -e "SELECT Host,Db,User FROM db" mysql +------+--------+------+ | host | db | user | +------+--------+------+ | % | test | | | % | test_% | | +------+--------+------+ 6), kesalahan terjadi saat Anda menjalankan mysql_install_db atau server mysqld

    Anda dapat menentukan lokasi yang berbeda untuk direktori sementara dan file soket Unix dengan menjalankan perintah ini sebelum memulai mysql_install_db atau mysqld, di mana shell> bin/mysqlshow +-----------+ | Databases | +-----------+ | mysql | | test | +-----------+ shell> bin/mysqlshow mysql Database: mysql +---------------------------+ | Tables | +---------------------------+ | columns_priv | | db | | func | | help_category | | help_keyword | | help_relation | | help_topic | | host | | proc | | procs_priv | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ shell> bin/mysql -e "SELECT Host,Db,User FROM db" mysql +------+--------+------+ | host | db | user | +------+--------+------+ | % | test | | | % | test_% | | +------+--------+------+ 8 adalah pathname lengkap ke beberapa direktori yang Anda memiliki izin menulis

    shell> cd BASEDIR _6

    Maka Anda harus dapat menjalankan mysql_install_db dan memulai server dengan perintah ini

    shell> cd BASEDIR _7

    Jika mysql_install_db terletak di direktori shell> bin/mysqladmin version shell> bin/mysqladmin variables 4, ubah perintah pertama menjadi shell> cd BASEDIR 00

    Lihat , dan Apendiks F, Variabel Lingkungan

Ada beberapa alternatif untuk menjalankan skrip mysql_install_db yang disediakan dalam distribusi MySQL

  • Jika Anda ingin hak istimewa awal berbeda dari default standar, Anda dapat memodifikasi mysql_install_db sebelum Anda menjalankannya. Namun, sebaiknya gunakan shell> cd BASEDIR _01 dan shell> cd BASEDIR 02 untuk mengubah hak istimewa setelah tabel hibah disiapkan. Dengan kata lain, Anda dapat menjalankan mysql_install_db, lalu menggunakan shell> cd BASEDIR 03 untuk terhubung ke server sebagai pengguna MySQL shell> bin/mysqladmin version shell> bin/mysqladmin variables 7 sehingga Anda dapat mengeluarkan pernyataan shell> cd BASEDIR 01 dan shell> cd BASEDIR 02 yang diperlukan

    Jika Anda ingin menginstal MySQL pada beberapa mesin dengan hak istimewa yang sama, Anda dapat menempatkan pernyataan shell> cd BASEDIR 01 dan shell> cd BASEDIR 02 dalam file dan mengeksekusi file sebagai skrip menggunakan mysqld: Can't find file: 'host.frm' 7 setelah menjalankan mysql_install_db. Sebagai contoh

    shell> cd BASEDIR _8

    Dengan melakukan ini, Anda dapat menghindari keharusan mengeluarkan pernyataan secara manual di setiap mesin

  • Dimungkinkan untuk membuat ulang tabel hibah sepenuhnya setelah dibuat sebelumnya. Anda mungkin ingin melakukan ini jika Anda baru mempelajari cara menggunakan shell> cd BASEDIR 01 dan shell> cd BASEDIR 02 dan telah membuat begitu banyak modifikasi setelah menjalankan mysql_install_db sehingga Anda ingin menghapus tabel dan memulai kembali

    Untuk membuat ulang tabel hibah, hapus semua file shell> cd BASEDIR 12, shell> cd BASEDIR 13, dan shell> cd BASEDIR 14 di direktori database mysqld: Can't find file: 'host.frm' 7. Kemudian jalankan skrip mysql_install_db lagi

  • Anda dapat memulai mysqld secara manual menggunakan opsi shell> cd BASEDIR 16 dan menambahkan sendiri informasi hak istimewa menggunakan mysql

    shell> cd BASEDIR _9

    Dari mysql, jalankan secara manual perintah SQL yang ada di mysql_install_db. Pastikan Anda menjalankan mysqladmin flush-privileges atau mysqladmin reload sesudahnya untuk memberi tahu server agar memuat ulang tabel hibah

    Perhatikan bahwa dengan tidak menggunakan mysql_install_db, Anda tidak hanya harus mengisi tabel hibah secara manual, Anda juga harus membuatnya terlebih dahulu

2. 10. 2. 2. Memulai dan Menghentikan MySQL Secara Otomatis

Umumnya, Anda memulai server mysqld dengan salah satu cara berikut

  • Dengan memanggil mysqld secara langsung. Ini berfungsi pada platform apa pun

  • Dengan menjalankan server MySQL sebagai layanan Windows. Ini dapat dilakukan pada versi Windows yang mendukung layanan (seperti NT, 2000, XP, dan 2003). Layanan dapat diatur untuk memulai server secara otomatis saat Windows dimulai, atau sebagai layanan manual yang Anda mulai berdasarkan permintaan. Untuk instruksi, lihat

  • Dengan menjalankan mysqld_safe, yang mencoba menentukan opsi yang tepat untuk mysqld dan kemudian menjalankannya dengan opsi tersebut. Skrip ini digunakan pada sistem Unix dan Unix-like. Lihat

  • Dengan memanggil mysql. server. Skrip ini digunakan terutama saat startup dan shutdown sistem pada sistem yang menggunakan direktori run gaya Sistem V, yang biasanya diinstal dengan nama mysqld: Can't find file: 'host.frm' 7. mysql. skrip server memulai server dengan menjalankan mysqld_safe. Lihat

  • Di Mac OS X, Anda dapat menginstal paket Item Startup MySQL terpisah untuk mengaktifkan startup otomatis MySQL pada startup sistem. Item Startup memulai server dengan menjalankan mysql. server. Lihat Bagian 2. 5, “Menginstal MySQL di Mac OS X”, untuk detailnya

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> cd BASEDIR 18 atau shell> cd BASEDIR 19 argumen

shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _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> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 7 yang sesuai ke grup shell> cd BASEDIR 21 dari file opsi shell> cd BASEDIR 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> cd BASEDIR 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> cd BASEDIR 24 Anda

Jika Anda menggunakan paket RPM server Linux (shell> cd BASEDIR 25shell> bin/mysqld_safe --user=mysql --log & 6. rpm), mysql. skrip server dipasang di direktori shell> cd BASEDIR _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> cd BASEDIR _29 di bawah direktori instalasi MySQL atau di pohon sumber MySQL

Untuk menginstal mysql. server secara manual, salin ke direktori shell> cd BASEDIR _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> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _1

Sistem Red Hat yang lebih lama menggunakan direktori shell> cd BASEDIR _31 daripada shell> cd BASEDIR 27. Sesuaikan perintah sebelumnya sesuai. Alternatifnya, pertama-tama buat shell> cd BASEDIR 27 sebagai tautan simbolik yang mengarah ke shell> cd BASEDIR 31

shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _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> cd BASEDIR _35

shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _3

Pada beberapa sistem Linux, perintah berikut juga diperlukan untuk mengaktifkan sepenuhnya skrip mysql

shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _4

Di FreeBSD, skrip startup umumnya harus masuk shell> cd BASEDIR 36. Halaman manual shell> cd BASEDIR 37 menyatakan bahwa skrip dalam direktori ini dijalankan hanya jika nama dasarnya cocok dengan pola nama file shell shell> cd BASEDIR 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> cd BASEDIR 39 sebagai shell> cd BASEDIR 40 untuk mengaktifkan startup otomatis

Sebagai alternatif dari penyiapan sebelumnya, beberapa sistem operasi juga menggunakan shell> cd BASEDIR 41 atau shell> cd BASEDIR 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> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _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> cd BASEDIR _22 global. File shell> cd BASEDIR _22 biasa mungkin terlihat seperti ini

shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _6

mysql. skrip server memahami opsi berikut. shell> cd BASEDIR _45, shell> cd BASEDIR 46, dan shell> cd BASEDIR 47. Jika ditentukan, mereka harus ditempatkan di file opsi, bukan di baris perintah. mysql. server hanya memahami shell> cd BASEDIR 18 dan shell> cd BASEDIR 19 sebagai argumen baris perintah

Tabel berikut menunjukkan opsi mana yang mengelompokkan server dan setiap skrip startup yang dibaca dari file opsi

ScriptOption Groupsmysqldshell> cd BASEDIR 21, shell> cd BASEDIR 51, shell> cd BASEDIR 52shell> cd BASEDIR 53]mysqld_safeshell> cd BASEDIR 21, shell> cd BASEDIR 51, shell> cd BASEDIR 56mysql. servershell> cd BASEDIR 21, shell> cd BASEDIR 58, shell> cd BASEDIR 51

shell> cd BASEDIR _52shell> cd BASEDIR 53] berarti grup dengan nama seperti shell> cd BASEDIR 62 dan shell> cd BASEDIR 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> cd BASEDIR 64 dan mysqld_safe juga membaca grup shell> cd BASEDIR 65. Namun, Anda harus memperbarui file opsi untuk menggunakan grup shell> cd BASEDIR 58 dan shell> cd BASEDIR 56 saat menggunakan MySQL 5. 0

Lihat

2. 10. 2. 3. Memulai dan Memecahkan Masalah Server MySQL

Bagian 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

  • Periksa log kesalahan untuk melihat mengapa server tidak memulai

  • Tentukan opsi khusus yang diperlukan oleh mesin penyimpanan yang Anda gunakan

  • Pastikan server tahu di mana menemukan direktori data

  • Pastikan bahwa server dapat mengakses direktori data. Kepemilikan dan izin direktori data dan isinya harus diatur sedemikian rupa sehingga server dapat membaca dan memodifikasinya

  • Verifikasi bahwa antarmuka jaringan yang ingin digunakan server tersedia

Beberapa mesin penyimpanan memiliki opsi yang mengontrol perilakunya. Anda dapat membuat file shell> cd BASEDIR 68 dan menentukan opsi startup untuk mesin yang akan Anda gunakan. Jika Anda akan menggunakan mesin penyimpanan yang mendukung tabel transaksional (shell> cd BASEDIR 69, shell> cd BASEDIR 70, shell> cd BASEDIR 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> cd BASEDIR 72 dan shell> bin/mysqld_safe --user=mysql --log & 0

Jika 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> cd BASEDIR 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> cd BASEDIR _75

Untuk memeriksa efek dari menentukan opsi jalur, aktifkan mysqld dengan opsi tersebut diikuti dengan opsi shell> cd BASEDIR 72 dan shell> bin/mysqld_safe --user=mysql --log & 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> bin/mysqladmin version shell> bin/mysqladmin variables 2

shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _7

Anda juga dapat menentukan opsi lain seperti shell> cd BASEDIR _74, tetapi shell> cd BASEDIR 72 dan shell> bin/mysqld_safe --user=mysql --log & 0 harus menjadi opsi terakhir

Setelah Anda menentukan pengaturan jalur yang Anda inginkan, mulai server tanpa shell> cd BASEDIR 72 dan shell> bin/mysqld_safe --user=mysql --log & 0

Jika mysql sedang berjalan, Anda dapat mengetahui pengaturan jalur apa yang digunakannya dengan menjalankan perintah ini

shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _8

Atau

shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _9

shell> cd BASEDIR _84 adalah nama host server MySQL

Jika Anda mendapatkan shell> cd BASEDIR 85 (yang berarti shell> cd BASEDIR 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> bin/mysqladmin version shell> bin/mysqladmin variables _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> cd BASEDIR _88, gunakan perintah ini

shell> bin/mysqld_safe --user=mysql & 0

Jika 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> bin/mysqld_safe --user=mysql & 1

Jika server gagal memulai dengan benar, periksa log kesalahan. File log terletak di direktori data (biasanya shell> cd BASEDIR 90 di Windows, shell> cd BASEDIR 91 untuk distribusi biner Unix, dan shell> cd BASEDIR 92 untuk distribusi sumber Unix). Lihat di direktori data untuk file dengan nama formulir shell> cd BASEDIR 93shell> cd BASEDIR 84. salah dan shell> cd BASEDIR 93shell> cd BASEDIR 84. log, di mana shell> cd BASEDIR 84 adalah nama host server Anda. Kemudian periksa beberapa baris terakhir dari file-file ini. Di Unix, Anda dapat menggunakan shell> cd BASEDIR _98 untuk menampilkannya

shell> bin/mysqld_safe --user=mysql & 2

Log kesalahan harus berisi informasi yang menunjukkan mengapa server tidak dapat dimulai. Misalnya, Anda mungkin melihat sesuatu seperti ini di log

shell> bin/mysqld_safe --user=mysql & 3

Ini berarti bahwa Anda tidak memulai mysqld dengan opsi shell> cd BASEDIR 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> cd BASEDIR 70 dinamai secara berurutan dimulai dengan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 01, di mana jumlahnya bertambah seiring waktu

Jika Anda menjalankan mysqld dengan dukungan tabel shell> cd BASEDIR 70 dan inti dump mysqld saat startup, ini mungkin karena masalah dengan log pemulihan shell> cd BASEDIR 70. Dalam hal ini, Anda dapat mencoba memulai mysqld dengan shell> cd BASEDIR 99. Jika itu membantu, Anda harus menghapus semua file log shell> cd BASEDIR _70 dari direktori data dan coba mulai mysqld lagi tanpa opsi shell> cd BASEDIR 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> bin/mysqld_safe --user=mysql & 4

Gunakan 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> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 07shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 08 shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 09. (Nomor port MySQL default adalah 3306. ) Lalu tekan Enter beberapa kali. Jika Anda tidak mendapatkan pesan kesalahan seperti shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 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> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 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> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 12 yang terlihat seperti ini

shell> bin/mysqld_safe --user=mysql & 5

Masalah 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> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 13. Lihat

2. 10. 3. Mengamankan Akun MySQL Awal

Bagian dari proses instalasi MySQL adalah menyiapkan database mysqld: Can't find file: 'host.frm' 7 yang berisi tabel hibah

  • Distribusi Windows berisi tabel hibah prainisialisasi yang diinstal secara otomatis

  • Di Unix, tabel hibah diisi oleh program mysql_install_db. Beberapa metode instalasi menjalankan program ini untuk Anda. Lainnya mengharuskan Anda menjalankannya secara manual. Untuk detailnya, lihat

Tabel hibah menentukan akun pengguna MySQL awal dan hak aksesnya. Akun-akun ini diatur sebagai berikut

  • Akun dengan nama pengguna shell> bin/mysqladmin version shell> bin/mysqladmin variables 7 dibuat. Ini adalah akun pengguna super yang dapat melakukan apa saja. Kata sandi akun shell> bin/mysqladmin version shell> bin/mysqladmin variables _7 awal kosong, sehingga siapa pun dapat terhubung ke server MySQL sebagai shell> bin/mysqladmin version shell> bin/mysqladmin variables 7 — tanpa kata sandi — dan diberikan semua hak istimewa

    • Di Windows, satu akun shell> bin/mysqladmin version shell> bin/mysqladmin variables _7 dibuat; . Penginstal Windows secara opsional akan membuat akun yang mengizinkan koneksi dari host apa pun hanya jika pengguna memilih opsi Aktifkan akses root dari mesin jarak jauh selama penginstalan

    • Di Unix, kedua akun shell> bin/mysqladmin version shell> bin/mysqladmin variables 7 adalah untuk koneksi dari host lokal. Sambungan harus dibuat dari host lokal dengan menentukan nama host shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 20 untuk salah satu akun, atau nama host aktual atau nomor IP untuk yang lain

  • Dua akun pengguna anonim dibuat, masing-masing dengan nama pengguna kosong. Akun anonim tidak memiliki kata sandi, sehingga siapa pun dapat menggunakannya untuk terhubung ke server MySQL

    • Di Windows, satu akun anonim adalah untuk koneksi dari host lokal. Itu memiliki semua hak istimewa, seperti akun shell> bin/mysqladmin version shell> bin/mysqladmin variables _7. Yang lainnya adalah untuk koneksi dari host mana pun dan memiliki semua hak istimewa untuk database shell> bin/mysqladmin version shell> bin/mysqladmin variables 6 dan untuk database lain dengan nama yang dimulai dengan shell> bin/mysqladmin version shell> bin/mysqladmin variables 6

    • Di Unix, kedua akun anonim adalah untuk koneksi dari host lokal. Sambungan harus dibuat dari host lokal dengan menentukan nama host shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 20 untuk salah satu akun, atau nama host aktual atau nomor IP untuk yang lain. Akun ini memiliki semua hak istimewa untuk database shell> bin/mysqladmin version shell> bin/mysqladmin variables 6 dan untuk database lain dengan nama yang dimulai dengan shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 0

Sebagaimana dicatat, tidak ada akun awal yang memiliki kata sandi. Ini berarti instalasi MySQL Anda tidak terlindungi sampai Anda melakukan sesuatu

  • Jika Anda ingin mencegah klien terhubung sebagai pengguna anonim tanpa kata sandi, Anda harus menetapkan kata sandi untuk setiap akun anonim atau menghapus akun tersebut

  • Anda harus menetapkan kata sandi untuk setiap akun MySQL shell> bin/mysqladmin version shell> bin/mysqladmin variables 7

Instruksi berikut menjelaskan cara menyiapkan kata sandi untuk akun MySQL awal, pertama untuk akun anonim dan kemudian untuk akun shell> bin/mysqladmin version shell> bin/mysqladmin variables 7. Ganti “shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _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> bin/mysqladmin version shell> bin/mysqladmin variables 7 lalu gunakan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 31 atau shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 32. Dalam kedua kasus tersebut, pastikan untuk mengenkripsi kata sandi menggunakan fungsi shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 33

Untuk menggunakan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _31 di Windows, lakukan ini

shell> bin/mysqld_safe --user=mysql & 6

Untuk menggunakan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _31 di Unix, lakukan ini

shell> bin/mysqld_safe --user=mysql & 7

Pada pernyataan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _31 kedua, ganti shell> cd BASEDIR 84 dengan nama host server. Ini adalah nama yang ditentukan dalam kolom shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 38 dari catatan non-shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 20 untuk shell> bin/mysqladmin version shell> bin/mysqladmin variables 7 dalam tabel shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 7. Jika Anda tidak tahu apa nama host ini, keluarkan pernyataan berikut sebelum menggunakan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 31

shell> bin/mysqld_safe --user=mysql & 8

Cari catatan yang memiliki shell> bin/mysqladmin version shell> bin/mysqladmin variables 7 di kolom shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 44 dan sesuatu selain shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 20 di kolom ________10______38. Kemudian gunakan nilai shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _38 di pernyataan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 31 kedua

Cara lain untuk menetapkan kata sandi ke akun anonim adalah dengan menggunakan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 32 untuk mengubah tabel shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 7 secara langsung. Sambungkan ke server sebagai shell> bin/mysqladmin version shell> bin/mysqladmin variables _7 dan keluarkan pernyataan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 32 yang memberikan nilai ke kolom shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 53 dari catatan tabel shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 7 yang sesuai. Prosedurnya sama untuk Windows dan Unix. Pernyataan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _32 berikut memberikan kata sandi untuk kedua akun anonim sekaligus

shell> bin/mysqld_safe --user=mysql & _9

Setelah Anda memperbarui kata sandi di tabel shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 _7 secara langsung menggunakan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 32, Anda harus memberi tahu server untuk membaca ulang tabel hibah dengan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 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> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _59 berlaku untuk Windows dan Unix. Di Windows, jika Anda hanya ingin menghapus akun anonim yang memiliki hak istimewa yang sama dengan shell> bin/mysqladmin version shell> bin/mysqladmin variables 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> bin/mysqladmin version shell> bin/mysqladmin variables _7 Penetapan Kata Sandi Akun

Anda dapat menetapkan kata sandi ke akun shell> bin/mysqladmin version shell> bin/mysqladmin variables 7 dengan beberapa cara. Pembahasan berikut menunjukkan tiga metode

  • Gunakan pernyataan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _31

  • Gunakan program klien baris perintah mysqladmin

  • Gunakan pernyataan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _32

Untuk menetapkan kata sandi menggunakan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _31, sambungkan ke server sebagai shell> bin/mysqladmin version shell> bin/mysqladmin variables 7 dan keluarkan dua pernyataan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql 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> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _31 kedua, ganti shell> cd BASEDIR 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> bin/mysqladmin version shell> bin/mysqladmin variables _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> cd BASEDIR _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> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _32 untuk memodifikasi tabel shell> bin/mysqladmin version mysqladmin Ver 14.12 Distrib 5.0.25, for pc-linux-gnu on i686 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.25-Max Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 14 days 5 hours 5 min 21 sec Threads: 1 Questions: 366 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 19 Queries per second avg: 0.000 7 secara langsung. Pernyataan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _32 berikut memberikan kata sandi untuk kedua akun shell> bin/mysqladmin version shell> bin/mysqladmin variables 7 sekaligus

mysqld: Can't find file: 'host.frm' 5

Pernyataan shell> bin/mysql_install_db --user=mysql shell> scripts/mysql_install_db --user=mysql _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> bin/mysqladmin version shell> bin/mysqladmin variables _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.

Postingan terbaru

LIHAT SEMUA