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
Pilih direktori tempat Anda ingin membongkar distribusi, dan pindah ke dalamnya
Dapatkan file distribusi dari salah satu situs yang terdaftar di
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
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
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
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
Konfigurasikan rilis dan kompilasi semuanya
shell> ./configure --prefix=/usr/local/mysql shell> makeSaat 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
Instal semuanya
shell> make installAnda mungkin perlu menjalankan perintah ini sebagai root
Buat tabel hibah MySQL (diperlukan hanya jika Anda belum menginstal MySQL sebelumnya)
shell> scripts/mysql_install_dbPerhatikan bahwa versi MySQL lebih tua dari Versi 3. 22. 10 memulai server MySQL ketika Anda menjalankan mysql_install_db. Ini tidak lagi benar
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/mysqlPerintah 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
Jika Anda ingin menginstal dukungan untuk antarmuka Perl DBI/DBD, lihat Bagian 2. 7
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.0Jika 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.1Tambalan 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.2Setelah 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._3Beberapa 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._4Jika 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.5Perintah pertama mengubah awalan instalasi sehingga semuanya terinstal di bawah shell> cd mysql-VERSION0 daripada default shell> cd mysql-VERSION1. 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-VERSION3 atau shell> cd mysql-VERSION4) 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.6Perhatikan 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._7Jika 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.8Saat 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._9Dengan kata lain, baris konfigurasi penuh akan menjadi seperti berikut untuk semua versi gcc terbaru
shell> rpm --rebuild MySQL-VERSION.src.rpm_0Binari 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-VERSION6 (shell> cd mysql-VERSION7 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_1Secara default, MySQL menggunakan set karakter ISO-8859-1 (Latin1). Untuk mengubah set default, gunakan opsi --with-charset
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_3Ini 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
Unduh BitKeeper dari http. // www. bitmover. com/cgi-bin/download. cgi. Anda membutuhkan Bitkeeper 2. 0 atau lebih baru untuk mengakses repositori kami
Ikuti petunjuk untuk menginstalnya
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_4Untuk mengkloning 4. 0 cabang, gunakan perintah ini sebagai gantinya
shell> rpm --rebuild MySQL-VERSION.src.rpm_5Pada contoh sebelumnya pohon sumber akan diatur dalam subdirektori ________9______8 atau shell> cd mysql-VERSION9 dari direktori Anda saat ini
Pengunduhan awal pohon sumber mungkin memakan waktu cukup lama, tergantung pada kecepatan koneksi Anda;
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_6Kumpulan skrip konfigurasi standar kami terletak di subdirektori shell> ./configure --prefix=/usr/local/mysql shell> make0. Jika Anda malas, Anda dapat menggunakan shell> ./configure --prefix=/usr/local/mysql shell> make1. Untuk mengkompilasi pada arsitektur yang berbeda, ubah skrip dengan menghapus flag yang khusus untuk Pentium
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
Bermain keras dengan penginstalan baru Anda dan coba buat fitur baru macet. Mulailah dengan menjalankan make test. Lihat
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
Setelah operasi klon bk awal untuk mendapatkan pohon sumber, Anda harus menjalankan bk pull secara berkala untuk mendapatkan pembaruan
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
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> make2. 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_7Atau, 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> make3, seperti yang ditampilkan di sini, Anda mungkin kehabisan memori atau ruang swap
Masalahnya adalah gcc membutuhkan banyak memori untuk mengkompilasi shell> ./configure --prefix=/usr/local/mysql shell> make3 dengan fungsi inline. Coba jalankan configure dengan opsi --with-low-memory
shell> rpm --rebuild MySQL-VERSION.src.rpm_9Opsi 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_0Anda 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_1Ini 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_2Solaris 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_3Lihat , 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_4gcc 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_5Untuk 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_6Ubah 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> make6. )
File shell> ./configure --prefix=/usr/local/mysql shell> make_3 dihasilkan dari shell> ./configure --prefix=/usr/local/mysql shell> make9. Biasanya proses build tidak perlu membuat shell> ./configure --prefix=/usr/local/mysql shell> make3, 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_7Ini 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_8Membangun 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_9Solusi 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 -0Beberapa peringatan lain juga dapat diabaikan
shell> gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -_1Kami 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 MySQLPilih opsi DownloadPilih Pemasang MySQL untuk WindowsPilih penginstal yang diinginkan dan klik unduhBagaimana 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 MySQLMenginstal MySQL di Ubuntu. Konfigurasi Instalasi MySQLMenginstal MySQL di Ubuntu. Tambahkan Pengguna MySQL KhususMenginstal MySQL di Ubuntu. Berikan Hak Istimewa untuk Mengamankan MySQLBagaimana cara mengatur dan menginstal database MySQL?
Cara menginstal MySQL .PrasyaratLangkah 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