Rumah  >  Artikel  >  pangkalan data  >  Apakah perbezaan antara 5.6 dan 5.7 dalam mysql

Apakah perbezaan antara 5.6 dan 5.7 dalam mysql

WBOY
WBOYasal
2022-03-01 16:45:2614607semak imbas

Perbezaan antara 5.6 dan 5.7 dalam mysql: 1. Versi 5.7 menyediakan data format json, tetapi versi 5.6 tidak menyediakan data versi json 2. Versi 5.7 menyokong berbilang induk dan satu hamba, tetapi versi 5.6 tidak menyokong berbilang induk Pertama, apabila memulakan data dalam versi 3 dan 5.7, ia berada dalam direktori bin, manakala dalam versi 5.6 ia berada dalam direktori skrip.

Apakah perbezaan antara 5.6 dan 5.7 dalam mysql

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.

Apakah perbezaan antara 5.6 dan 5.7 dalam mysql?

1. Perbezaan dalam penyusunan dan pemasangan

Mysql5.7 mempunyai banyak perubahan selepas kemas kini, seperti json, dan lain-lain, malah pemasangan telah berubah, dia mesti memasang perpustakaan BOOST. Kod sumber laman web rasmi mysql termasuk kod sumber dengan perpustakaan rangsangan dan kod sumber tanpa perpustakaan rangsangan Mereka yang tiada kod sumber perpustakaan rangsangan perlu memasang rangsangan secara berasingan.

mysql5.7 menyokong berbilang tuan dan satu hamba, dengan cara berbeza untuk mencapai ketersediaan tinggi

Muat turun perisian

wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz
wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.20.tar.gz

Pemasangan kod sumber MySQL dengan rangsangan

1 .Pasang pakej pergantungan

yum -y install make gcc-c++ cmake bison-devel  ncurses-devel   bison perl perl-devel  perl perl-devel

2. Susun dan pasang

cd /usr/local/mysql-5.7.20/
cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost
make
make install

Pemasangan kod sumber MySQL tanpa rangsangan

1

yum -y install gcc gcc-c++ ncurses ncurses-devel cmake
2. Susun dan pasang

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.20 \
-DMYSQL_DATADIR=/application/mysql-5.7.20/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.7.20/tmp/mysql.sock \
#开启BOOST库
-DDOWNLOAD_BOOST=1 \
#指定boost库位置
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0 
make
make install
2 Perbezaan dalam pemula

#【5.6版本初识化】
cd /usr/local/mysql/scripts/
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#【5.7版本初识化】这种初始化方式,默认密码在一个文件中
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
–mulakan Hasilkan kata laluan rawak dan tulis pada fail

– mulakan-tidak selamat tidak menjana kata laluan rawak

3 Perbezaan antara fungsi dan ciri

Keselamatan

Medan pemalam pengguna. jadual mysql.user tidak dibenarkan Kosong, nilai lalai ialah mysql_native_password, bukan mysql_old_password, format kata laluan lama tidak lagi disokong; ia mungkin dilumpuhkan, atau masuk ke mod kotak pasir; konfigurasi capaian keselamatan SSL yang lebih mudah, dan sambungan lalai menggunakan kaedah Penyulitan SSL.

Fleksibiliti

Pangkalan data MySQL juga menyediakan sokongan untuk JSON bermula dari versi 5.7.8.

Boleh menyimpan data berstruktur dan data tidak berstruktur secara bercampur-campur, dan mempunyai kelebihan pangkalan data hubungan dan pangkalan data bukan hubungan pada masa yang sama

Boleh menyediakan sokongan transaksi lengkap

lajur yang dijana Ia adalah ciri baharu yang diperkenalkan dalam MySQL 5.7 Lajur yang dipanggil terhasil bermakna lajur dalam pangkalan data ini dikira daripada lajur lain

Kemudahan penggunaan

Sebelum ini. MySQL 5.7, jika Pengguna memasukkan pernyataan SQL yang salah dan menekan ctrl c Walaupun ia boleh "menamatkan" pelaksanaan pernyataan SQL, ia juga akan keluar dari sesi semasa MySQL 5.7 telah menambah baik aspek berlawanan intuitif ini dan tidak lagi keluar dari sesi .

MySQL 5.7 boleh menerangkan SQL yang sedang berjalan, yang akan sangat berguna untuk DBA menganalisis pernyataan yang mengambil masa yang lama untuk dijalankan.

skema sys ialah perpustakaan sistem yang diperkenalkan dalam MySQL 5.7.7 Ia mengandungi satu siri paparan, fungsi dan prosedur tersimpan Projek ini memfokuskan kepada kemudahan penggunaan MySQL.

Ketersediaan

Tetapan dalam talian bagi peraturan penapisan yang direplikasi tidak lagi memerlukan memulakan semula MySQL Anda hanya perlu menghentikan SQLthread selepas pengubahsuaian selesai.

Ubah suai saiz kolam penimbal dalam talian.

DDL MySQL 5.7 dalam talian menyokong penamaan semula indeks dan mengubah suai saiz varchar Dalam versi sebelumnya, kedua-dua operasi ini memerlukan membina semula indeks atau jadual.

Hidupkan GTID dalam talian dalam versi sebelumnya, kerana menghidupkan GTID dalam talian tidak disokong, jika pengguna ingin meningkatkan versi pangkalan data yang lebih rendah kepada versi pangkalan data yang menyokong GTID, mereka perlu menutup pangkalan data. mula-mula dan kemudian mulakannya dalam mod GTID Ini menjadikan peningkatan sangat menyusahkan.

Prestasi

Peningkatan prestasi untuk jadual sementara.

Jadual sementara hanya kelihatan dalam sesi semasa

Kitaran hayat jadual sementara ialah sambungan semasa (MySQL turun atau dimulakan semula, sambungan semasa tamat)

Baca -hanya prestasi transaksi bertambah baik.

MySQL 5.7 mengoptimumkan overhed transaksi baca sahaja dan meningkatkan prestasi keseluruhan pangkalan data dengan mengelakkan memperuntukkan ID transaksi untuk transaksi baca sahaja, tidak memperuntukkan segmen rollback untuk transaksi baca sahaja, mengurangkan persaingan kunci, dsb. .

-Mempercepatkan pemprosesan sambungan

Sebelum MySQL 5.7, operasi pemulaan boleh ubah (THD, VIO) telah selesai dalam urutan penerimaan sambungan Sekarang tugasan ini dihantar ke urutan pekerja untuk mengurangkan beban kerja daripada benang penerima sambungan dan meningkatkan kelajuan pemprosesan sambungan. Pengoptimuman ini akan sangat berguna untuk aplikasi yang kerap mewujudkan sambungan pendek.

Peningkatan dalam prestasi replikasi (Supporting Multi-Threaded Slaves, dirujuk sebagai MTS)

Konfigurasi lalai MySQL ialah replikasi selari peringkat perpustakaan Untuk memberikan permainan penuh kepada replikasi selari Fungsi MySQL 5.7, kita perlu mengkonfigurasi slave-parallel-type kepada LOGICAL_CLOCK

Sokong replikasi berbilang sumber (Replikasi berbilang sumber)

Perubahan ketegasan

Mod STICT_TRANS_TABLES didayakan secara lalai

Sokongan ciri yang lebih kompleks dilaksanakan untuk mod ONLY_FULL_GROUP_BY dan turut didayakan secara lalai

Mod sql lain yang didayakan secara lalai ialah NO_ENGINE >Perubahan parameter lalai

Format binlog lalai dilaraskan kepada format ROW

Operasi lalai selepas ralat binlog dilaraskan kepada ABORT_SERVER

Di bawah pilihan sebelumnya (binlog_error_action=IGNORE_ERROR), jika ralat berlaku dan binlog tidak boleh ditulis, mysql-server akan merekodkan ralat dalam ralat log Dan matikan fungsi binlog secara paksa. Ini akan menyebabkan pelayan mysql terus berjalan dalam mod yang tidak merekodkan binlog, menyebabkan perpustakaan hamba tidak dapat terus mendapatkan binlog perpustakaan induk.

Keselamatan binlog apabila ranap mysql didayakan secara lalai.

Kurangkan slave_net_timeout secara lalai.

Pemasangan yang berbeza

mysql_install_db tidak lagi disyorkan untuk menukarnya kepada mysqld --inisial untuk melengkapkan permulaan instance. Jika sudah ada fail data dalam direktori sasaran yang ditunjukkan oleh datadir, akan ada [ERROR] Menggugurkan

Jika --initial-insecure ditambahkan semasa pemulaan, akaun root@localhost dengan kata laluan kosong akan; akan dibuat, jika tidak Akaun root@localhost dengan kata laluan akan dibuat, dan kata laluan akan ditulis terus dalam fail log ralat log pengguna baharu perlu menukar kata laluan mereka serta-merta selepas log masuk, jika tidak, mereka tidak akan dapat melakukannya; meneruskan kerja mereka.

Pembelajaran yang disyorkan: tutorial video mysql

Atas ialah kandungan terperinci Apakah perbezaan antara 5.6 dan 5.7 dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn