mysqld_safe MySQL


Lanjutan dari tulisan sebelumnya.

--defaults-extra-file=path
Nama option file untuk dibaca sebagai tambahan option file yang biasa. Ini harus menjadi pilihan pertama pada command line jika digunakan. Jika file tidak ada atau tidak terjangkau, server akan keluar dengan error.

--defaults-file=file_name

Nama option file untuk dibaca bukan option file biasa. Ini harus menjadi pilihan pertama pada command line jika digunakan.

--malloc-lib=[lib_name]

Nama library yang akan digunakan untuk alokasi memori bukannya library system malloc(). Setiap library dapat digunakan dengan menyebutkan nama path-nya, tapi ada bentuk pintas untuk memungkinkan penggunaan libarary tcmalloc yang dikirimkan dengan distribusi MySQL biner untuk Linux di MySQL 5.5.

Option --malloc-lib bekerja dengan memodifikasi nilai lingkungan LD_PRELOAD yang dapat mempengaruhi dynamic linking untuk memungkinkan loader untuk menemukan library memory-allocation ketika mysqld berjalan:

  • Jika opsi tersebut tidak diberikan, atau diberikan tanpa nilai (--malloc-lib=), LD_PRELOAD tidak diubah dan tidak ada usaha yang dibuat untuk menggunakan tcmalloc.
  • Jika opsi tersebut diberikan sebagai --malloc-lib=tcmalloc, mysqld_safe mencari library tcmalloc di /usr/lib  dan kemudian di lokasi pkglibdir MySQL (misalnya, /usr/local/mysql/lib  atau apa pun yang sesuai). Jika tmalloc ditemukan, nama path-nya ditambahkan ke awal nilai LD_PRELOAD untuk mysqld. Jika tcmalloc tidak ditemukan, mysqld_safe dibatalkan dengan error.
  • Jika opsi tersebut diberikan sebagai --malloc-lib=/path/to/some/library, path lengkap akan ditambahkan ke awal nilai LD_PRELOAD. Jika poin path lengkap ke file tidak ada atau tidak terbaca, dibatalkan mysqld_safe dengan error.
  • Untuk kasus-kasus di mana mysqld_safe menambahkan nama path ke LD_PRELOAD, hal itu menambah path ke awal nilai apa pun yang ada yang sudah dimiliki variabel.

Pengguna Linux dapat menggunakan libtcmalloc_minimal.so disertakan dalam paket binary dengan menambahkan baris-baris berikut ke file my.cnf:

[mysqld_safe]
malloc-lib=tcmalloc

Baris ini juga cukup untuk pengguna pada platform apapun yang telah menginstal paket tcmalloc di /usr/lib.

Baris ini juga cukup untuk pengguna pada platform apapun yang telah menginstal paket tcmalloc di  /usr/lib. Untuk menggunakan library tcmalloc yang spesifik, tentukan nama path penuh. contoh:

[mysqld_safe]
malloc-lib=/opt/lib/libtcmalloc_minimal.so

--mysqld=prog_name

Nama dari program server (di direktori ledir) yang anda ingin jalankan. Opsi ini diperlukan jika anda menggunakan distribusi biner MySQL tetapi memiliki direktori data di luar distribusi biner. Jika mysqld_safe tidak dapat menemukan server, gunakan opsi --ledir untuk menunjukkan nama path ke direktori di mana server berada.

--mysqld-version=suffix

Option ini mirip dengan opsi --mysqld, tetapi anda menetapkan hanya suffix untuk nama program server. Basename diasumsikan mysqld. Misalnya, jika anda menggunakan --mysqld-version=debug, mysqld_safe menjalankan program mysqld-debug dalam direktori ledir. Jika argumen ke --mysqld-versi adalah kosong, mysqld_safe menggunakan mysqld dalam direktori ledir.

--open-files-limit=count

Jumlah file dimana mysqld harus dapat membuka. Nilai opsi dilewatkan ke ulimit -n. Perhatikan bahwa anda perlu menjalankan mysqld_safe sebagai root untuk bekerja dengan baik!

--port=port_num
Nomor port yang server harus gunakan saat mendengarkan untuk koneksi TCP/IP. Nomor port harus 1024 atau lebih tinggi kecuali server dimulai oleh pengguna root sistem.

--syslog, --skip-syslog
--syslog menyebabkan pesan kesalahan akan dikirim ke syslog pada sistem yang mendukung program logger.  --skip-syslog menekan penggunaan syslog, pesan ditulis ke file log error.

--syslog-tag=tag
Untuk logging ke syslog, pesan dari mysqld_safe dan mysqld ditulis dengan tag mysqld_safe dan mysqld, secara berurutan. Untuk menentukan suffix untuk tag, gunakan  --syslog-tag=tag, yang memodifikasi tag untuk menjadi mysqld_safe-tag dan mysqld-tag.

Jika anda menjalankan mysqld_safe dengan option --defaults-file atau --defaults-extra-file opsi harus menjadi yang pertama yang diberikan pada command line atau option file tidak akan digunakan. Misalnya, perintah ini tidak akan menggunakan option file dengan nama:

mysql> mysqld_safe --port=port_num --defaults-file=file_name

Sebagai gantinya, gunakan perintah berikut:

mysql> mysqld_safe --defaults-file=file_name --port=port_num

Script mysqld_safe ditulis sehingga biasanya dapat memulai server yang dipasang baik dari sumber atau distribusi biner MySQL, walaupun jenis distribusi biasanya menginstal server di lokasi yang sedikit berbeda. mysqld_safe mengharapkan salah satu dari kondisi berikut ini benar:

  • Server dan database dapat ditemukan relatif terhadap direktori kerja (direktori dari mana mysqld_safe dipanggil). Untuk distribusi biner, mysqld_safe melihat di bawah direktori kerja untuk direktori bin dan data. Untuk distribusi sumber, mencari direktori sbin dan var. Kondisi ini harus dipenuhi jika anda menjalankan mysqld_safe dari direktori instalasi MySQL anda (misalnya, /usr/local/mysql untuk distribusi biner).
  • Jika server dan database tidak dapat ditemukan relatif terhadap direktori kerja, mysqld_safe mencoba untuk menemukan mereka dengan nama path absolut. Lokasi umunya adalah /usr/local/libexec dan /usr/local/var. Mereka harus benar jika MySQL terinstal di lokasi yang ditentukan pada saat konfigurasi.

Karena mysqld_safe mencoba untuk menemukan server dan database relatif terhadap direktori kerja sendiri, anda dapat menginstal distribusi biner MySQL di mana saja, asalkan anda menjalankan mysqld_safe dari direktori instalasi MySQL:

shell> cd mysql_installation_directory
shell> bin/mysqld_safe &

Jika mysqld_safe gagal, bahkan ketika dipanggil dari direktori instalasi MySQL, anda dapat menentukan option --ledir dan --datadir untuk menunjukkan direktori di mana server dan database berada pada sistem anda.

Dimulai dengan MySQL 5.5.21, mysqld_safe mencoba untuk menggunakan sleep dan utilitas date system untuk menentukan berapa kali ia telah berusaha untuk start detik ini, dan jika ini terjadi dan ini lebih besar dari 5 kali dipaksa untuk menunggu 1 detik penuh sebelum memulai lagi. Hal ini dimaksudkan untuk mencegah penggunaan CPU yang berlebihan dalam hal kegagalan berulang-ulang.

Bila anda menggunakan mysqld_safe untuk menjalankan mysqld, mysqld_safe mengatur untuk pesan kesalahan (dan pemberitahuan) dari dirinya sendiri dan dari mysqld untuk pergi ke tujuan yang sama.

Ada beberapa opsi mysqld_safe untuk mengendalikan tujuan dari pesan tersebut:

  • --syslog: Menulis pesan kesalahan ke syslog pada sistem yang mendukung program logger.
  • --skip-syslog: Tidak menulis pesan kesalahan ke syslog. Pesan ditulis ke default file error log (host_name.err dalam direktori data), atau ke sebuah file bernama jika option --log-error diberikan.
  • -- log-error=nama_file: Menulis pesan kesalahan ke file error bernama(nama_file).

Jika tidak ada pilihan yang diberikan, defaultnya adalah --skip-syslog.

Jika --syslog dan --log-error --syslog and --log-error --log-error diutamakan.

Ketika mysqld_safe menulis pesan, pemberitahuan masuk ke tujuan logging (syslog atau file log error) dan stdout. Error masuk ke tujuan logging dan stderr.

Biasanya, anda tidak harus mengedit script mysqld_safe. Sebagai gantinya, mengkonfigurasi mysqld_safe dengan menggunakan opsi comaand line atau opsi di bagian [mysqld_safe] dari option file my.cnf. Dalam kasus yang jarang terjadi, mungkin perlu untuk mengedit mysqld_safe agar dapat menjalankan server dengan benar. Namun, jika anda melakukan ini, versi modifikasi dari mysqld_safe mungkin ditimpa jika anda meng-upgrade MySQL di masa mendatang, sehingga anda harus membuat salinan dari versi yang diedit anda dimana anda dapat melakukan installasi ulang.

Iklan
  1. September 29th, 2012

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: