Apabila menggunakan sistem CentOS untuk pembangunan atau penggunaan, memasang MySQL ialah tugas asas. Walaupun anda boleh menggunakan yum pengurus pakej lalai sistem untuk memasang MySQL, dalam beberapa kes (seperti menyesuaikan pilihan kompilasi, dll.), menggunakan kod sumber untuk memasang MySQL ialah pilihan yang lebih fleksibel. Artikel ini akan memperkenalkan cara memasang MySQL daripada kod sumber pada sistem CentOS, termasuk langkah-langkah seperti pemasangan pergantungan, penyusunan dan pemasangan MySQL.
1. Pasang kebergantungan
Sebelum memasang kod sumber MySQL, kami perlu memasang beberapa kebergantungan. Dalam sistem CentOS, anda boleh memasangnya melalui arahan berikut:
yum install -y gcc gcc-c++ make ncurses-devel cmake bison
Antaranya, fungsi setiap kebergantungan adalah seperti berikut:
2. Muat turun dan nyahmampat kod sumber MySQL
daripada tapak web rasmi MySQL (https: //dev.mysql.com/downloads/mysql/) untuk memuat turun versi terkini pakej kod sumber MySQL (format tar.gz), dan pilih versi platform yang sesuai. Artikel ini mengambil versi 5.7.32 sebagai contoh untuk demonstrasi. Selepas muat turun selesai, gunakan arahan berikut untuk menyahmampat pakej sumber:
tar -xzf mysql-5.7.32.tar.gz cd mysql-5.7.32
3. Edit pilihan kompilasi
Pilihan kompilasi lalai MySQL tidak semestinya memenuhi keperluan kita, jadi kita perlu edit pilihan kompilasi. Selepas memasukkan direktori kod sumber MySQL pada langkah sebelumnya, gunakan arahan berikut untuk membuka fail CMakeLists.txt:
vim CMakeLists.txt
Cari baris berikut dalam fail:
# Settings for a "typical" MySQL build, using all of the default components. SET(VARIANTS a b c) SET(BUILD_CONFIG "community")
Antaranya, VARIAN pembolehubah dalam baris kedua Pilihan kompilasi MySQL ditakrifkan, dan kita boleh menggunakan arahan berikut untuk menulis gantinya kepada pilihan kompilasi yang kita perlukan:
SET(VARIANTS server)
Dengan cara ini, MySQL hanya akan menyusun atur cara sebelah pelayan , tidak termasuk program pelanggan dan komponen lain. Selain itu, kita juga perlu mengubah suai dua baris berikut:
SET(DEFAULT_CHARSET "utf8") SET(DEFAULT_COLLATION "utf8_general_ci")
Ubah suai masing-masing kepada:
SET(DEFAULT_CHARSET "utf8mb4") SET(DEFAULT_COLLATION "utf8mb4_general_ci")
Dengan cara ini, MySQL akan menggunakan set aksara utf8mb4 secara lalai dan menyokong penyimpanan aksara unicode 4-bait.
4. Susun kod sumber MySQL
Selepas mengedit pilihan kompilasi, gunakan arahan berikut untuk menjana Makefile:
cmake .
Selepas itu, gunakan arahan make untuk menyusun MySQL:
make
Kompilasi mengambil masa yang lama, harap bersabar. Jika anda menghadapi ralat semasa penyusunan, sila betulkan mengikut mesej ralat.
5. Pasang MySQL
Selepas penyusunan berjaya, gunakan arahan berikut untuk memasang MySQL:
make install
Selepas pemasangan berjaya, MySQL dipasang dalam /usr/local/mysql direktori secara lalai. Kita juga perlu melakukan beberapa operasi konfigurasi:
cd /usr/local/mysql chown -R mysql:mysql . bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data chown -R root . chown -R mysql:mysql data bin/mysqld_safe --user=mysql &
Maksud arahan di atas adalah seperti berikut:
Pada ketika ini, kami telah berjaya memasang dan memulakan perkhidmatan MySQL.
6. Tetapkan kata laluan pengguna root MySQL
Dalam langkah kelima tadi, MySQL menjana kata laluan sementara untuk pengguna root semasa permulaan. Kita perlu menggunakan kata laluan ini untuk log masuk ke MySQL dan menukar kata laluan pengguna root:
bin/mysql -uroot -p
Pada masa ini, sistem akan meminta anda memasukkan kata laluan. Kami memasukkan kata laluan sementara yang baru kami hasilkan Selepas log masuk berjaya, gunakan SQL berikut untuk mengubah suai kata laluan pengguna root:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
Antaranya, kata laluan_baru anda ialah kata laluan baharu yang anda tetapkan.
Pada ketika ini, kami telah berjaya menyelesaikan keseluruhan proses pemasangan MySQL daripada kod sumber pada sistem CentOS.
Atas ialah kandungan terperinci centos pemasangan kod sumber mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!