Cara install mysql dari source code

Sebelum Anda melanjutkan penginstalan sumber, periksa terlebih dahulu untuk melihat apakah biner kami tersedia untuk platform Anda dan apakah itu akan bekerja untuk Anda. Kami berupaya keras untuk memastikan bahwa binari kami dibangun dengan opsi terbaik

Anda memerlukan alat berikut untuk membangun dan menginstal MySQL dari sumber

  • GNU gunzip untuk mengompres distribusi

  • Tar yang masuk akal untuk membongkar distribusi. Tar GNU diketahui berfungsi. Sun tar diketahui bermasalah

  • Kompiler ANSI C++ yang berfungsi. gcc >= 2. 95. 2, misalnya >= 1. 0. 2 atau eg 2. 91. 66, SGI C++, dan SunPro C++ adalah beberapa kompiler yang diketahui berfungsi. libg++ tidak diperlukan saat menggunakan gcc. gcc 2. 7. x memiliki bug yang tidak memungkinkan untuk mengkompilasi beberapa file C++ legal yang sempurna, seperti

    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
    2. Jika Anda hanya memiliki gcc 2. 7. x, Anda harus memutakhirkan gcc Anda untuk dapat mengkompilasi MySQL. gcc 2. 8. 1 juga diketahui memiliki masalah pada beberapa platform, jadi sebaiknya dihindari jika ada kompiler baru untuk platform tersebut

    gcc >= 2. 95. 2 direkomendasikan saat mengkompilasi MySQL Versi 3. 23. x

  • Program pembuatan yang bagus. GNU make selalu direkomendasikan dan terkadang diperlukan. Jika Anda mengalami masalah, kami sarankan untuk mencoba GNU make 3. 75 atau lebih baru

Jika Anda menggunakan gcc versi terbaru, cukup baru untuk memahami opsi -fno-exceptions, sangat penting bagi Anda untuk menggunakannya. Jika tidak, Anda dapat mengkompilasi biner yang mogok secara acak. Kami juga menyarankan Anda menggunakan -felide-constructors dan -fno-rtti bersama dengan -fno-pengecualian. Jika ragu, lakukan hal berikut

CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions \
       -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler \
       --with-mysqld-ldflags=-all-static
_

Pada sebagian besar sistem, ini akan memberi Anda biner yang cepat dan stabil

Jika Anda mengalami masalah, harap selalu gunakan mysqlbug saat memposting pertanyaan ke mysql@lists. mysql. com. Meskipun masalahnya bukan bug, mysqlbug mengumpulkan informasi sistem yang akan membantu orang lain memecahkan masalah Anda. Dengan tidak menggunakan mysqlbug, Anda mengurangi kemungkinan mendapatkan solusi untuk masalah Anda. Anda akan menemukan mysqlbug di direktori

shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
3 setelah Anda membongkar distribusinya. Lihat

Ikhtisar Instalasi Cepat

Perintah dasar yang harus Anda jalankan untuk menginstal distribusi sumber MySQL adalah

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> scripts/mysql_install_db
shell> chown -R root  /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
or
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
if you are running MySQL 4.x.

Jika Anda ingin memiliki dukungan untuk tabel InnoDB, Anda harus mengedit file /etc/my. cnf dan hapus karakter # sebelum parameter yang dimulai dengan innodb_. Lihat , dan

Jika Anda memulai dari RPM sumber, lakukan hal berikut

shell> rpm --rebuild MySQL-VERSION.src.rpm
_

Ini akan membuat RPM biner yang dapat Anda instal

Anda dapat menambahkan pengguna baru menggunakan skrip bin/mysql_setpermission jika Anda menginstal modul Perl DBI dan Msql-Mysql-modules

Uraian yang lebih rinci berikut

Untuk menginstal distribusi sumber, ikuti langkah-langkah ini, lalu lanjutkan ke Bagian 2. 4, untuk inisialisasi dan pengujian pasca instalasi

  1. Pilih direktori tempat Anda ingin membongkar distribusi, dan pindah ke dalamnya

  2. Dapatkan file distribusi dari salah satu situs yang terdaftar di

  3. Jika Anda tertarik untuk menggunakan tabel Berkeley DB dengan MySQL, Anda perlu mendapatkan versi tambalan dari kode sumber Berkeley DB. Harap baca bab tentang tabel Berkeley DB sebelum melanjutkan. Lihat Bagian 7. 6

    Distribusi sumber MySQL disediakan sebagai arsip tar terkompresi dan memiliki nama seperti

    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
    4, di mana VERSION adalah angka seperti 4. 0

  4. Tambahkan pengguna dan grup untuk dijalankan sebagai mysqld

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    _

    Perintah-perintah ini menambahkan grup mysql dan pengguna mysql. Sintaks untuk useradd dan groupadd mungkin sedikit berbeda pada versi Unix yang berbeda. Mereka juga dapat disebut adduser dan addgroup. Anda mungkin ingin memanggil pengguna dan mengelompokkan sesuatu yang lain, bukan mysql

  5. Buka paket distribusi ke direktori saat ini

    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -

    Perintah ini membuat direktori bernama

    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
    5

  6. Ubah ke direktori tingkat atas dari distribusi yang belum dibongkar

    shell> cd mysql-VERSION
    _

    Perhatikan bahwa saat ini Anda harus mengonfigurasi dan membangun MySQL dari direktori tingkat atas ini. Anda tidak dapat membangunnya di direktori yang berbeda

  7. Konfigurasikan rilis dan kompilasi semuanya

    shell> ./configure --prefix=/usr/local/mysql
    shell> make

    Saat Anda menjalankan configure, Anda mungkin ingin menentukan beberapa opsi. Lari. /configure --help untuk daftar opsi. Lihat , membahas beberapa opsi yang lebih berguna

    Jika konfigurasi gagal, dan Anda akan mengirim email ke mysql@lists. mysql. com untuk meminta bantuan, harap sertakan baris apa pun dari

    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
    6 yang menurut Anda dapat membantu menyelesaikan masalah. Sertakan juga beberapa baris keluaran terakhir dari configure jika konfigurasi dibatalkan. Posting laporan bug menggunakan skrip mysqlbug. Lihat

    Jika kompilasi gagal, lihat , untuk bantuan dengan sejumlah masalah umum

  8. Instal semuanya

    shell> make install

    Anda mungkin perlu menjalankan perintah ini sebagai root

  9. Buat tabel hibah MySQL (diperlukan hanya jika Anda belum menginstal MySQL sebelumnya)

    shell> scripts/mysql_install_db

    Perhatikan bahwa versi MySQL lebih tua dari Versi 3. 22. 10 memulai server MySQL ketika Anda menjalankan mysql_install_db. Ini tidak lagi benar

  10. Ubah kepemilikan binari menjadi root dan kepemilikan direktori data ke pengguna tempat Anda menjalankan mysqld

    shell> chown -R root  /usr/local/mysql
    shell> chown -R mysql /usr/local/mysql/var
    shell> chgrp -R mysql /usr/local/mysql

    Perintah pertama mengubah atribut pemilik file menjadi pengguna root, yang kedua mengubah atribut pemilik direktori data menjadi pengguna mysql, dan yang ketiga mengubah atribut grup menjadi grup mysql

  11. Jika Anda ingin menginstal dukungan untuk antarmuka Perl DBI/DBD, lihat Bagian 2. 7

  12. Jika Anda ingin MySQL untuk memulai secara otomatis saat Anda mem-boot mesin Anda, Anda dapat menyalin support-files/mysql. server ke lokasi di mana sistem Anda memiliki file startupnya. Informasi lebih lanjut dapat ditemukan di support-files/mysql. skrip server itu sendiri dan di

Setelah semuanya terinstal, Anda harus menginisialisasi dan menguji distribusi Anda

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> scripts/mysql_install_db
shell> chown -R root  /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
or
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
if you are running MySQL 4.x.
0

Jika perintah itu langsung gagal dengan daemon mysqld berakhir, Anda dapat menemukan beberapa informasi di file

shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
7. Kemungkinan alasannya adalah Anda sudah menjalankan server mysqld lain. Lihat

Sekarang lanjutkan ke Bagian 2. 4

Terkadang tambalan muncul di milis atau ditempatkan di area tambalan di situs web MySQL (http. // www. mysql. com/Download/Patch/)

Untuk menerapkan tambalan dari milis, simpan pesan di mana tambalan muncul dalam file, ubah ke direktori tingkat atas pohon sumber MySQL Anda, dan jalankan perintah ini

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> scripts/mysql_install_db
shell> chown -R root  /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
or
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
if you are running MySQL 4.x.
1

Tambalan dari situs FTP didistribusikan sebagai file teks biasa atau sebagai file yang dikompresi dengan gzip. Terapkan tambalan biasa seperti yang ditunjukkan sebelumnya untuk tambalan milis. Untuk menerapkan tambalan terkompresi, ubah ke direktori tingkat atas pohon sumber MySQL Anda dan jalankan perintah ini

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> scripts/mysql_install_db
shell> chown -R root  /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
or
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
if you are running MySQL 4.x.
2

Setelah menerapkan tambalan, ikuti petunjuk untuk penginstalan sumber normal, dimulai dengan. / langkah konfigurasi. Setelah menjalankan langkah make install, restart server MySQL Anda

Anda mungkin perlu mematikan server yang sedang berjalan sebelum menjalankan make install. (Gunakan shutdown mysqladmin untuk melakukan ini. ) Beberapa sistem tidak mengizinkan Anda untuk menginstal versi baru dari suatu program jika itu menggantikan versi yang sedang dijalankan

Skrip konfigurasi memberi Anda banyak kendali atas cara Anda mengonfigurasi distribusi MySQL Anda. Biasanya Anda melakukan ini menggunakan opsi pada baris perintah konfigurasi. Anda juga dapat memengaruhi konfigurasi menggunakan variabel lingkungan tertentu. Lihat Lampiran E. Untuk daftar opsi yang didukung oleh configure, jalankan perintah ini

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> scripts/mysql_install_db
shell> chown -R root  /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
or
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
if you are running MySQL 4.x.
_3

Beberapa opsi konfigurasi yang lebih umum digunakan dijelaskan di sini

  • Untuk mengkompilasi hanya pustaka klien MySQL dan program klien dan bukan server, gunakan opsi --tanpa-server

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
    shell> cd mysql-VERSION
    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    shell> make install
    shell> scripts/mysql_install_db
    shell> chown -R root  /usr/local/mysql
    shell> chown -R mysql /usr/local/mysql/var
    shell> chgrp -R mysql /usr/local/mysql
    shell> cp support-files/my-medium.cnf /etc/my.cnf
    shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
    or
    shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
    if you are running MySQL 4.x.
    _4

    Jika Anda tidak memiliki kompiler C++, mysql tidak akan dapat dikompilasi (itu adalah satu-satunya program klien yang membutuhkan C++). Dalam hal ini, Anda dapat menghapus kode di configure yang menguji kompiler C++ dan kemudian jalankan. / konfigurasikan dengan opsi --tanpa server. Langkah kompilasi masih akan mencoba membangun mysql, tetapi Anda dapat mengabaikan peringatan apa pun tentang

    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
    8. (Jika make stop, coba make -k untuk memberitahunya untuk melanjutkan sisa build bahkan jika terjadi kesalahan. )

  • Jika Anda ingin mendapatkan pustaka MySQL tertanam (libmysqld. a) Anda harus menggunakan opsi --with-embedded-server

  • Jika Anda tidak ingin file log dan direktori database berada di bawah

    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
    9, gunakan perintah configure, seperti salah satunya

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
    shell> cd mysql-VERSION
    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    shell> make install
    shell> scripts/mysql_install_db
    shell> chown -R root  /usr/local/mysql
    shell> chown -R mysql /usr/local/mysql/var
    shell> chgrp -R mysql /usr/local/mysql
    shell> cp support-files/my-medium.cnf /etc/my.cnf
    shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
    or
    shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
    if you are running MySQL 4.x.
    5

    Perintah pertama mengubah awalan instalasi sehingga semuanya terinstal di bawah

    shell> cd mysql-VERSION
    0 daripada default
    shell> cd mysql-VERSION
    1. Perintah kedua mempertahankan awalan instalasi default, tetapi mengesampingkan lokasi default untuk direktori database (biasanya
    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
    9) dan mengubahnya menjadi /usr/local/mysql/data. Setelah Anda mengkompilasi MySQL, Anda dapat mengubah opsi ini dengan file opsi. Lihat

  • Jika Anda menggunakan Unix dan Anda ingin soket MySQL berada di tempat lain selain lokasi default (biasanya di direktori

    shell> cd mysql-VERSION
    3 atau
    shell> cd mysql-VERSION
    4) gunakan perintah konfigurasi seperti ini

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
    shell> cd mysql-VERSION
    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    shell> make install
    shell> scripts/mysql_install_db
    shell> chown -R root  /usr/local/mysql
    shell> chown -R mysql /usr/local/mysql/var
    shell> chgrp -R mysql /usr/local/mysql
    shell> cp support-files/my-medium.cnf /etc/my.cnf
    shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
    or
    shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
    if you are running MySQL 4.x.
    6

    Perhatikan bahwa file yang diberikan harus berupa nama jalur absolut. Anda juga dapat mengubah lokasi

    shell> cd mysql-VERSION
    _5 nanti dengan menggunakan file opsi MySQL. Lihat

  • Jika Anda ingin mengkompilasi program yang terhubung secara statis (misalnya, untuk membuat distribusi biner, untuk mendapatkan lebih banyak kecepatan, atau untuk mengatasi masalah dengan beberapa distribusi RedHat Linux), jalankan configure seperti ini

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
    shell> cd mysql-VERSION
    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    shell> make install
    shell> scripts/mysql_install_db
    shell> chown -R root  /usr/local/mysql
    shell> chown -R mysql /usr/local/mysql/var
    shell> chgrp -R mysql /usr/local/mysql
    shell> cp support-files/my-medium.cnf /etc/my.cnf
    shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
    or
    shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
    if you are running MySQL 4.x.
    _7
  • Jika Anda menggunakan gcc dan belum menginstal libg++ atau libstdc++, Anda dapat memberi tahu configure untuk menggunakan gcc sebagai kompiler C++ Anda

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
    shell> cd mysql-VERSION
    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    shell> make install
    shell> scripts/mysql_install_db
    shell> chown -R root  /usr/local/mysql
    shell> chown -R mysql /usr/local/mysql/var
    shell> chgrp -R mysql /usr/local/mysql
    shell> cp support-files/my-medium.cnf /etc/my.cnf
    shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
    or
    shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
    if you are running MySQL 4.x.
    8

    Saat Anda menggunakan gcc sebagai kompiler C++, itu tidak akan mencoba menautkan di libg++ atau libstdc++

    Berikut adalah beberapa variabel lingkungan umum untuk diatur tergantung pada kompiler yang Anda gunakan

    Penyusun

    Opsi yang disarankan

    gcc 2. 7. 2. 1

    CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors"

    contoh 1. 0. 3a

    CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-pengecualian -fno-rtti"

    gcc 2. 95. 2

    CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \ -felide-constructors -fno-pengecualian -fno-rtti"

    pgcc 2. 90. 29 atau lebih baru

    CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \ CXXFLAGS="-O3 -mpentiumpro -mstack-align-double -felide-constructors \ -fno-pengecualian -fno-rtti"

    Dalam kebanyakan kasus, Anda bisa mendapatkan biner MySQL yang cukup optimal dengan menggunakan opsi dari tabel sebelumnya dan menambahkan opsi berikut ke baris konfigurasi

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
    shell> cd mysql-VERSION
    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    shell> make install
    shell> scripts/mysql_install_db
    shell> chown -R root  /usr/local/mysql
    shell> chown -R mysql /usr/local/mysql/var
    shell> chgrp -R mysql /usr/local/mysql
    shell> cp support-files/my-medium.cnf /etc/my.cnf
    shell> /usr/local/mysql/bin/safe_mysqld --user=mysql &
    or
    shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
    if you are running MySQL 4.x.
    _9

    Dengan kata lain, baris konfigurasi penuh akan menjadi seperti berikut untuk semua versi gcc terbaru

    shell> rpm --rebuild MySQL-VERSION.src.rpm
    _0

    Binari yang kami sediakan di situs web MySQL di http. // www. mysql. com/ semuanya dikompilasi dengan pengoptimalan penuh dan harus sempurna untuk sebagian besar pengguna. Lihat. Ada beberapa hal yang dapat Anda atur untuk membuat biner lebih cepat, tetapi ini hanya untuk pengguna tingkat lanjut. Lihat

    Jika build gagal dan menghasilkan kesalahan tentang compiler atau linker Anda yang tidak dapat membuat pustaka bersama

    shell> cd mysql-VERSION
    6 (
    shell> cd mysql-VERSION
    7 adalah nomor versi), Anda dapat mengatasi masalah ini dengan memberikan opsi --disable-shared untuk mengonfigurasi. Dalam hal ini, configure tidak akan membangun klien libmysql bersama. jadi. # perpustakaan

  • Anda dapat mengonfigurasi MySQL untuk tidak menggunakan nilai kolom DEFAULT untuk kolom non-NULL (yaitu, kolom yang tidak boleh NULL). Hal ini menyebabkan pernyataan INSERT menghasilkan kesalahan kecuali jika Anda secara eksplisit menentukan nilai untuk semua kolom yang memerlukan nilai bukan NULL. Untuk menekan penggunaan nilai default, jalankan configure seperti ini

    shell> rpm --rebuild MySQL-VERSION.src.rpm
    _1
  • Secara default, MySQL menggunakan set karakter ISO-8859-1 (Latin1). Untuk mengubah set default, gunakan opsi --with-charset

    shell> rpm --rebuild MySQL-VERSION.src.rpm
    _2

    CHARSET mungkin salah satu dari big5, cp1251, cp1257, ceko, denmark, dec8, dos, euc_kr, gb2312, gbk, german1, hebrew, hp8, hungaria, koi8_ru, koi8_ukr, latin1, latin2, sjis, swe7, tis620, ujis, usa7 . Lihat

    Jika Anda ingin mengonversi karakter antara server dan klien, Anda harus melihat perintah SET OPTION CHARACTER SET. Lihat

    Peringatan. Jika Anda mengubah set karakter setelah membuat tabel apa pun, Anda harus menjalankan myisamchk -r -q di setiap tabel. Indeks Anda mungkin diurutkan secara tidak benar. (Hal ini dapat terjadi jika Anda menginstal MySQL, membuat beberapa tabel, lalu mengonfigurasi ulang MySQL untuk menggunakan kumpulan karakter yang berbeda dan menginstalnya kembali. )

    Dengan opsi --with-extra-charset=LIST Anda dapat menentukan set karakter tambahan mana yang harus dikompilasi di server

    Di sini LIST adalah daftar kumpulan karakter yang dipisahkan dengan spasi, kompleks untuk memasukkan semua karakter yang tidak dapat dimuat secara dinamis, atau semua untuk memasukkan semua kumpulan karakter ke dalam binari

  • Untuk mengonfigurasi MySQL dengan kode debug, gunakan opsi --with-debug

    shell> rpm --rebuild MySQL-VERSION.src.rpm
    _3

    Ini menyebabkan pengalokasi memori yang aman disertakan yang dapat menemukan beberapa kesalahan dan memberikan keluaran tentang apa yang terjadi. Lihat

  • Jika program klien Anda menggunakan utas, Anda juga perlu mengkompilasi versi thread-safe dari pustaka klien MySQL dengan opsi konfigurasi --enable-thread-safe-client. Ini akan membuat perpustakaan libmysqlclient_r yang dengannya Anda harus menautkan aplikasi berulir Anda. Lihat

  • Pilihan yang berkaitan dengan sistem tertentu dapat ditemukan di bagian khusus sistem dari manual ini. Lihat Bagian 2. 6

Menginstal dari Pohon Sumber Pengembangan

Hati-hati. Anda harus membaca bagian ini hanya jika Anda tertarik untuk membantu kami menguji kode baru kami. Jika Anda hanya ingin mengaktifkan dan menjalankan MySQL di sistem Anda, Anda harus menggunakan distribusi rilis standar (baik distribusi sumber atau biner akan melakukannya)

Untuk mendapatkan pohon sumber pengembangan terbaru kami, gunakan petunjuk ini

  1. Unduh BitKeeper dari http. // www. bitmover. com/cgi-bin/download. cgi. Anda membutuhkan Bitkeeper 2. 0 atau lebih baru untuk mengakses repositori kami

  2. Ikuti petunjuk untuk menginstalnya

  3. Setelah BitKeeper diinstal, pertama-tama buka direktori tempat Anda ingin bekerja, lalu gunakan perintah ini jika Anda ingin mengkloning MySQL 3. 23 cabang

    shell> rpm --rebuild MySQL-VERSION.src.rpm
    _4

    Untuk mengkloning 4. 0 cabang, gunakan perintah ini sebagai gantinya

    shell> rpm --rebuild MySQL-VERSION.src.rpm
    _5

    Pada contoh sebelumnya pohon sumber akan diatur dalam subdirektori ________9______8 atau

    shell> cd mysql-VERSION
    9 dari direktori Anda saat ini

    Pengunduhan awal pohon sumber mungkin memakan waktu cukup lama, tergantung pada kecepatan koneksi Anda;

  4. Anda membutuhkan GNU autoconf 2. 52, pembuatan otomatis 1. 4, libtool, dan m4 untuk menjalankan rangkaian perintah berikutnya

    buatan otomatis (1. 5) belum bekerja

    Jika Anda mendapatkan kesalahan aneh selama tahap ini, periksa apakah Anda benar-benar telah menginstal libtool

    shell> rpm --rebuild MySQL-VERSION.src.rpm
    _6

    Kumpulan skrip konfigurasi standar kami terletak di subdirektori

    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    0. Jika Anda malas, Anda dapat menggunakan
    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    1. Untuk mengkompilasi pada arsitektur yang berbeda, ubah skrip dengan menghapus flag yang khusus untuk Pentium

  5. Setelah build selesai, jalankan make install. Hati-hati dengan ini pada mesin produksi; . Jika Anda memiliki instalasi MySQL lain, kami sarankan Anda menjalankannya. / konfigurasikan dengan nilai yang berbeda untuk opsi prefiks, tcp-port, dan unix-socket-path daripada yang digunakan untuk server produksi Anda

  6. Bermain keras dengan penginstalan baru Anda dan coba buat fitur baru macet. Mulailah dengan menjalankan make test. Lihat

  7. Jika Anda telah mencapai tahap make dan distribusi tidak dapat dikompilasi, harap laporkan ke bugs@lists. mysql. com. Jika Anda telah menginstal versi terbaru dari alat GNU yang diperlukan, dan alat tersebut mogok saat mencoba memproses file konfigurasi kami, harap laporkan juga. Namun, jika Anda menjalankan aclocal dan mendapatkan kesalahan command not found atau masalah serupa, jangan laporkan. Alih-alih, pastikan semua alat yang diperlukan diinstal dan variabel PATH Anda disetel dengan benar sehingga shell Anda dapat menemukannya

  8. Setelah operasi klon bk awal untuk mendapatkan pohon sumber, Anda harus menjalankan bk pull secara berkala untuk mendapatkan pembaruan

  9. Anda dapat memeriksa riwayat perubahan pohon dengan semua perbedaan dengan menggunakan bk sccstool. Jika Anda melihat beberapa perbedaan atau kode lucu yang ingin Anda tanyakan, jangan ragu untuk mengirim email ke internals@lists. mysql. com. Juga, jika Anda merasa memiliki ide yang lebih baik tentang cara melakukan sesuatu, kirim email ke alamat yang sama dengan tambalan. bk diffs akan menghasilkan tambalan untuk Anda setelah Anda membuat perubahan pada sumbernya. Jika Anda tidak punya waktu untuk membuat kode ide Anda, kirimkan saja deskripsinya

  10. BitKeeper memiliki utilitas bantuan yang bagus yang dapat Anda akses melalui bk helptool

Semua program MySQL dikompilasi dengan bersih untuk kami tanpa peringatan pada Solaris menggunakan gcc. Pada sistem lain, peringatan dapat terjadi karena perbedaan sistem termasuk file. Lihat untuk peringatan yang mungkin terjadi saat menggunakan MIT-pthreads. Untuk masalah lainnya, periksa daftar berikut

Solusi untuk banyak masalah melibatkan konfigurasi ulang. Jika Anda perlu mengkonfigurasi ulang, perhatikan hal berikut

  • Jika configure dijalankan setelah dijalankan, ia mungkin menggunakan informasi yang dikumpulkan selama pemanggilan sebelumnya. Informasi ini disimpan di

    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    2. Ketika configure dimulai, ia mencari file itu dan membaca isinya jika ada, dengan asumsi informasinya masih benar. Asumsi itu tidak valid saat Anda mengkonfigurasi ulang

  • Setiap kali Anda menjalankan configure, Anda harus menjalankan make lagi untuk mengkompilasi ulang. Namun, Anda mungkin ingin menghapus file objek lama dari versi sebelumnya terlebih dahulu karena file tersebut dikompilasi menggunakan opsi konfigurasi yang berbeda

Untuk mencegah informasi konfigurasi lama atau file objek digunakan, jalankan perintah ini sebelum menjalankan kembali konfigurasi

shell> rpm --rebuild MySQL-VERSION.src.rpm
_7

Atau, Anda dapat menjalankan make distclean

Daftar berikut menjelaskan beberapa masalah saat mengkompilasi MySQL yang paling sering ditemukan

  • Jika Anda mendapatkan kesalahan saat mengkompilasi

    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    3, seperti yang ditampilkan di sini, Anda mungkin kehabisan memori atau ruang swap

    shell> rpm --rebuild MySQL-VERSION.src.rpm
    _8

    Masalahnya adalah gcc membutuhkan banyak memori untuk mengkompilasi

    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    3 dengan fungsi inline. Coba jalankan configure dengan opsi --with-low-memory

    shell> rpm --rebuild MySQL-VERSION.src.rpm
    _9

    Opsi ini menyebabkan -fno-inline ditambahkan ke baris kompilasi jika Anda menggunakan gcc dan -O0 jika Anda menggunakan yang lain. Anda harus mencoba opsi --with-low-memory bahkan jika Anda memiliki begitu banyak memori dan ruang swap yang menurut Anda tidak mungkin habis. Masalah ini telah diamati terjadi bahkan pada sistem dengan konfigurasi perangkat keras yang banyak, dan opsi --with-low-memory biasanya memperbaikinya

  • Secara default, konfigurasikan pilihan c++ sebagai nama kompiler dan tautan GNU c++ dengan -lg++. Jika Anda menggunakan gcc, perilaku tersebut dapat menyebabkan masalah selama konfigurasi seperti ini

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    _0

    Anda mungkin juga mengamati masalah selama kompilasi terkait dengan g++, libg++, atau libstdc++

    Salah satu penyebab masalah ini adalah Anda mungkin tidak memiliki g++, atau Anda mungkin memiliki g++ tetapi tidak memiliki libg++, atau libstdc++. Lihatlah file

    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
    _6. Itu harus berisi alasan pasti mengapa kompiler c ++ Anda tidak berfungsi. Untuk mengatasi masalah ini, Anda dapat menggunakan gcc sebagai kompiler C++ Anda. Coba atur variabel lingkungan CXX ke "gcc -O3". Sebagai contoh

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    _1

    Ini berfungsi karena gcc mengkompilasi sumber C++ seperti halnya g++, tetapi tidak menautkan di libg++ atau libstdc++ secara default

    Cara lain untuk memperbaiki masalah tersebut tentunya adalah dengan menginstal g++, libg++, dan libstdc++

  • Jika kompilasi Anda gagal dengan kesalahan, seperti yang berikut ini, Anda harus memutakhirkan versi make Anda ke GNU make

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    _2

    Solaris dan FreeBSD dikenal memiliki program make yang merepotkan

    GNU membuat Versi 3. 75 diketahui bekerja

  • Jika Anda ingin menentukan flag untuk digunakan oleh kompiler C atau C++, lakukan dengan menambahkan flag ke variabel lingkungan CFLAGS dan CXXFLAGS. Anda juga dapat menentukan nama kompiler dengan cara ini menggunakan CC dan CXX. Sebagai contoh

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    _3

    Lihat , untuk daftar definisi flag yang berguna di berbagai sistem

  • Jika Anda mendapatkan pesan kesalahan seperti ini, Anda perlu memutakhirkan kompiler gcc Anda

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    _4

    gcc 2. 8. 1 diketahui berfungsi, tetapi sebaiknya gunakan gcc 2. 95. 2 atau eg 1. 0. 3a sebagai gantinya

  • Jika Anda mendapatkan kesalahan seperti yang ditampilkan di sini saat mengkompilasi mysqld, konfigurasikan tidak mendeteksi dengan benar jenis argumen terakhir untuk menerima ( ), getockname ( ), atau getpeername ( )

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    _5

    Untuk memperbaikinya, edit file

    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    _6 (yang dihasilkan oleh konfigurasi). Cari garis-garis ini

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    _6

    Ubah XXX menjadi size_t atau int, tergantung pada sistem operasi Anda. (Perhatikan bahwa Anda harus melakukan ini setiap kali Anda menjalankan configure karena configure membuat ulang

    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    6. )

  • File

    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    _3 dihasilkan dari
    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    9. Biasanya proses build tidak perlu membuat
    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    3, karena MySQL dilengkapi dengan salinan yang sudah dibuat. Namun, jika Anda perlu membuatnya kembali, Anda mungkin mengalami kesalahan ini

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    _7

    Ini adalah tanda bahwa versi yacc Anda kurang. Anda mungkin perlu menginstal bison (yacc versi GNU) dan menggunakannya

  • Jika Anda perlu men-debug mysqld atau klien MySQL, jalankan configure dengan opsi --with-debug, lalu kompilasi ulang dan tautkan klien Anda dengan pustaka klien baru. Lihat Bagian D. 2

Bagian ini menjelaskan beberapa masalah yang terlibat dalam penggunaan MIT-pthreads

Perhatikan bahwa di Linux Anda tidak boleh menggunakan MIT-pthreads tetapi instal LinuxThreads. Lihat

Jika sistem Anda tidak menyediakan dukungan thread asli, Anda perlu membangun MySQL menggunakan paket MIT-pthreads. Ini termasuk sistem FreeBSD yang lebih lama, SunOS 4. x, Solaris 2. 4 dan sebelumnya, dan beberapa lainnya. Lihat

  • Pada sebagian besar sistem, Anda dapat memaksa MIT-pthreads untuk digunakan dengan menjalankan configure dengan opsi --with-mit-threads

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    _8

    Membangun di direktori non-sumber tidak didukung saat menggunakan MIT-pthreads karena kami ingin meminimalkan perubahan pada kode ini

  • Pemeriksaan yang menentukan apakah akan menggunakan MIT-pthreads hanya terjadi selama bagian dari proses konfigurasi yang berhubungan dengan kode server. Jika Anda telah mengonfigurasi distribusi menggunakan --tanpa-server untuk membuat kode klien saja, klien tidak akan tahu apakah MIT-pthreads sedang digunakan dan akan menggunakan koneksi soket Unix secara default. Karena soket Unix tidak berfungsi di bawah MIT-pthreads, ini berarti Anda harus menggunakan -h atau --host saat menjalankan program klien

  • Saat MySQL dikompilasi menggunakan MIT-pthreads, penguncian sistem dinonaktifkan secara default karena alasan kinerja. Anda dapat memberi tahu server untuk menggunakan penguncian sistem dengan opsi --use-locking

  • Terkadang perintah pthread bind() gagal mengikat soket tanpa pesan kesalahan (setidaknya pada Solaris). Hasilnya adalah semua koneksi ke server gagal. Sebagai contoh

    shell> groupadd mysql
    shell> useradd -g mysql mysql
    _9

    Solusi untuk ini adalah mematikan server mysqld dan memulai ulang. Ini hanya terjadi pada kami ketika kami memaksa server down dan segera melakukan restart

  • Dengan MIT-pthreads, panggilan sistem sleep() tidak dapat disela dengan SIGINT (break). Ini hanya terlihat saat Anda menjalankan mysqladmin --sleep. Anda harus menunggu panggilan sleep() berakhir sebelum interupsi dilayani dan proses berhenti

  • Saat menautkan, Anda mungkin menerima pesan peringatan seperti ini (setidaknya di Solaris);

    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
    0
  • Beberapa peringatan lain juga dapat diabaikan

    shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
    _1
  • Kami belum mendapatkan readline untuk bekerja dengan MIT-pthreads. (Ini tidak diperlukan, tetapi mungkin menarik bagi seseorang. )

Distribusi Sumber Windows

Anda membutuhkan yang berikut ini

  • VC++ 6. 0 compiler (diperbarui dengan 4 atau 5 SP dan paket Pre-processor) Paket Pre-processor diperlukan untuk assembler makro. Lebih detail di. http. //msdn. microsoft. com/vstudio/sp/vs6sp5/faq. asp

  • Distribusi sumber MySQL untuk Windows, yang dapat diunduh dari http. // www. mysql. com/unduh/

    Bagaimana cara menginstal meja kerja MySQL dari kode sumber?

    Proses instalasi mirip dengan sistem operasi lain. .
    Buka situs web MySQL di browser. Klik tautan berikut. Unduhan MySQL
    Pilih opsi Download
    Pilih Pemasang MySQL untuk Windows
    Pilih penginstal yang diinginkan dan klik unduh

    Bagaimana cara mengunduh dan menginstal MySQL dari klien baris perintah?

    Cara memasang Klien Baris Perintah MySQL. Umumnya, MySQL Command Line Client diinstal bersama dengan Server MySQL, dan Anda tidak perlu mengunduh dan menginstal klien MySQL secara terpisah . Untuk memeriksa apakah Anda memiliki program klien di mesin Anda, buka pencarian, alihkan ke tab Aplikasi, dan ketik "MySQL".

    Bagaimana cara menginstal MySQL di Ubuntu dari sumber?

    Berikut adalah langkah-langkah yang terlibat dalam Instalasi MySQL Ubuntu 20. 04. .
    Menginstal MySQL di Ubuntu. Perbarui Repositori Paket dan Instal MySQL
    Menginstal MySQL di Ubuntu. Konfigurasi Instalasi MySQL
    Menginstal MySQL di Ubuntu. Tambahkan Pengguna MySQL Khusus
    Menginstal MySQL di Ubuntu. Berikan Hak Istimewa untuk Mengamankan MySQL

    Bagaimana cara mengatur dan menginstal database MySQL?

    Cara menginstal MySQL .
    Prasyarat
    Langkah 1. Buka situs web resmi MySQL dan unduh perangkat lunak edisi server komunitas. .
    Langkah 2. Selanjutnya, ada dua opsi yang tersedia untuk mengunduh pengaturan. .
    Langkah 1. Setelah mengunduh pengaturan, unzip di mana saja dan klik dua kali penginstal MSI. file exe