Rumah > Artikel > pangkalan data > Apakah perbezaan antara 5.6 dan 5.7 dalam mysql
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.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
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 cmake2. 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 install2 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 rawak3 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 samaBoleh 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 lainKemudahan 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 semasaKitaran 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 sambunganSebelum 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 ROWOperasi 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!