久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql中5.6與5.7有哪些區(qū)別

141次閱讀
沒有評論

共計 3858 個字符,預(yù)計需要花費 10 分鐘才能閱讀完成。

今天丸趣 TV 小編給大家分享一下 mysql 中 5.6 與 5.7 有哪些區(qū)別的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

mysql 中 5.6 與 5.7 的區(qū)別:1、5.7 版本提供了 json 格式數(shù)據(jù),而 5.6 版本沒有提供 json 版本數(shù)據(jù);2、5.7 版本支持多主一從,而 5.6 版本不支持多主一從;3、5.7 版本初始化數(shù)據(jù)時在 bin 目錄下,而 5.6 版本在 script 目錄。

本教程操作環(huán)境:windows10 系統(tǒng)、mysql8.0.22 版本、Dell G3 電腦。

mysql 中 5.6 與 5.7 有什么區(qū)別一、編譯安裝區(qū)別

Mysql5.7 版本更新后有很多變化,比如 json 等,連安裝都有變化,他安裝必須要 BOOST 庫。mysql 的官網(wǎng)源碼有帶 boost 庫的源碼和不帶 boost 庫的源碼兩種,不帶 boost 庫源碼的需要單獨安裝 boost。

mysql5.7 支持多主一從,做高可用方式不同

下載軟件

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

帶 boost 的 mysql 源碼安裝

1. 安裝依賴包

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

2. 編譯安裝

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

不帶 boost 的 mysql 源碼安裝

1. 安裝依賴包

yum -y install gcc gcc-c++ ncurses ncurses-devel cmake

2. 編譯安裝

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 install

二、初識化時的區(qū)別

#【5.6 版本初識化】cd /usr/local/mysql/scripts/
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#【5.7 版本初識化】這種初始化方式,默認(rèn)密碼在一個文件中
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

–initialize 生成一個隨機密碼寫到一個文件

–initialize-insecure 不生成隨機密碼

三、功能和特性的區(qū)別

安全性

用戶表 mysql.user 的 plugin 字段不允許為空,默認(rèn)值是 mysql_native_password,而不是 mysql_old_password,不再支持舊密碼格式;

增加密碼過期機制,過期后需要修改密碼,否則可能會被禁用,或者進(jìn)入沙箱模式;

增加密碼過期機制,過期后需要修改密碼,否則可能會被禁用,或者進(jìn)入沙箱模式;

提供了更為簡單 SSL 安全訪問配置,并且默認(rèn)連接就采用 SSL 的加密方式。

靈活性

MySQL 數(shù)據(jù)庫從 5.7.8 版本開始,也提供了對 JSON 的支持。

可以混合存儲結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),同時擁有關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫的優(yōu)點

能夠提供完整的事務(wù)支持

generated column 是 MySQL 5.7 引入的新特性,所謂 generated column,就是數(shù)據(jù)庫中這一列由其他列計算而得

易用性

在 MySQL 5.7 之前,如果用戶輸入了錯誤的 SQL 語句,按下 ctrl+c,雖然能夠”結(jié)束”SQL 語句的運行,但是,也會退出當(dāng)前會話,MySQL 5.7 對這一違反直覺的地方進(jìn)行了改進(jìn),不再退出會話。

MySQL 5.7 可以 explain 一個正在運行的 SQL,這對于 DBA 分析運行時間較長的語句將會非常有用。

sys schema 是 MySQL 5.7.7 中引入的一個系統(tǒng)庫,包含了一系列視圖、函數(shù)和存儲過程,該項目專注于 MySQL 的易用性。

可用性

在線設(shè)置 復(fù)制的過濾規(guī)則 不再需要重啟 MySQL,只需要停止 SQLthread,修改完成以后,啟動 SQLthread。

在線修改 buffer pool 的大小。

Online DDL MySQL 5.7 支持重命名索引和修改 varchar 的大小,這兩項操作在之前的版本中,都需要重建索引或表。

在線開啟 GTID,在之前的版本中,由于不支持在線開啟 GTID,用戶如果希望將低版本的數(shù)據(jù)庫升級到支持 GTID 的數(shù)據(jù)庫版本,需要先關(guān)閉數(shù)據(jù)庫,再以 GTID 模式啟動,所以導(dǎo)致升級起來特別麻煩。

性能

臨時表的性能改進(jìn)。

臨時表只在當(dāng)前會話中可見

臨時表的生命周期是當(dāng)前連接(MySQL 宕機或重啟,則當(dāng)前連接結(jié)束)

只讀事務(wù)性能改進(jìn)。

MySQL 5.7 通過 避免為只讀事務(wù)分配事務(wù) ID,不為只讀事務(wù)分配回滾段,減少鎖競爭等多種方式,優(yōu)化了只讀事務(wù)的開銷,提高了數(shù)據(jù)庫的整體性能。

- 加速連接處理

在 MySQL 5.7 之前,變量的初始化操作(THD、VIO)都是在連接接收線程里面完成的,現(xiàn)在將這些工作下發(fā)給工作線程,以減少連接接收線程的工作量,提高連接的處理速度。這個優(yōu)化對那些頻繁建立短連接的應(yīng)用,將會非常有用。

復(fù)制性能的改進(jìn)(支持多線程復(fù)制(Multi-Threaded Slaves, 簡稱 MTS)

MySQL 的默認(rèn)配置是庫級別的并行復(fù)制,為了充分發(fā)揮 MySQL 5.7 的并行復(fù)制的功能,我們需要將 slave-parallel-type 配置成 LOGICAL_CLOCK。

支持多源復(fù)制(Multi-source replication)

嚴(yán)格性改變

默認(rèn)啟用 STRICT_TRANS_TABLES 模式。

對 ONLY_FULL_GROUP_BY 模式實現(xiàn)了更復(fù)雜的特性支持,并且也被默認(rèn)啟用。

其他被默認(rèn)啟用的 sql mode 還有 NO_ENGINE_SUBSTITUTION。

默認(rèn)參數(shù)的改變

默認(rèn) binlog 格式調(diào)整為 ROW 格式

默認(rèn) binlog 錯誤后的操作調(diào)整為 ABORT_SERVER

在先前的選項下(binlog_error_action=IGNORE_ERROR),如果一個錯誤發(fā)生,導(dǎo)致無法寫入 binlog,mysql-server 會在錯誤日志中記錄錯誤并強制關(guān)閉 binlog 功能。這會使 mysql-server 在不記錄 binlog 的模式下繼續(xù)運行,導(dǎo)致從庫無法繼續(xù)獲取到主庫的 binlog。

默認(rèn)開啟 mysql 崩潰時的 binlog 安全。

默認(rèn)調(diào)低 slave_net_timeout。

安裝不同

mysql_install_db 已經(jīng)不再推薦使用了,建議改成 mysqld –initialize 完成實例初始化。如果 datadir 指向的目標(biāo)目錄下已經(jīng)有數(shù)據(jù)文件,則會有 [ERROR] Aborting;

在初始化時如果加上 –initial-insecure,則會創(chuàng)建空密碼的 root@localhost 賬號,否則會創(chuàng)建帶密碼的 root@localhost 賬號,密碼直接寫在 log-error 日志文件中;新用戶登入后需要立刻修改密碼,否則無法繼續(xù)后續(xù)的工作。

以上就是“mysql 中 5.6 與 5.7 有哪些區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,丸趣 TV 小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-15發(fā)表,共計3858字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 依兰县| 漠河县| 民乐县| 南阳市| 高青县| 罗平县| 平潭县| 扎赉特旗| 桐柏县| 兴化市| 永济市| 伊宁市| 英德市| 浮梁县| 台北县| 湄潭县| 鹰潭市| 右玉县| 象州县| 读书| 平顶山市| 霍州市| 石狮市| 德钦县| 巍山| 永泰县| 克什克腾旗| 广州市| 绵竹市| 温泉县| 蓝山县| 合江县| 齐河县| 阳谷县| 朝阳区| 庆阳市| 贺州市| 鄂伦春自治旗| 东阳市| 阿鲁科尔沁旗| 巫溪县|