欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL最新版8.1.0版本部署和新特性詳解

 更新時(shí)間:2023年11月23日 09:29:01   作者:終有救贖  
MySQL8.1的應(yīng)該來(lái)說(shuō)是8.0版本的bug修復(fù),這是 MySQL 變更發(fā)版模型后的第一個(gè)創(chuàng)新版本,本文給大家介紹了MySQL最新版8.1.0版本部署和新特性,需要的朋友可以參考下

前言

2023年7月18日晚,MySQL官方網(wǎng)站正式發(fā)布了MySQL8.1.0與8.0.34版本.

一、暢談新版本

Oracle 每季度發(fā)布一次 MySQL 更新,所以自己也一直留意的官網(wǎng)的動(dòng)態(tài),2023年7月18日晚,MySQL官方網(wǎng)站正式發(fā)布了MySQL8.1.0與8.0.34版本,8.1的應(yīng)該來(lái)說(shuō)是8.0版本的bug修復(fù),這是 MySQL 變更發(fā)版模型后的第一個(gè)創(chuàng)新版本 (Innovation Release)。MySQL 8.0.34+ 將成為僅錯(cuò)誤修復(fù)版本(紅色)。MySQL大約每2年發(fā)布一個(gè)新的長(zhǎng)期支持版本(如下圖藍(lán)色),一個(gè)例外是8.x LTS版本,它將在 8.0 的 EOL 之前發(fā)生,按照此規(guī)則來(lái)說(shuō),下一個(gè)(創(chuàng)新)版本將增加主版本號(hào),如果 MySQL 8.4.0 是 8.x LTS 版本,那么 MySQL 9.0 將是下一個(gè)創(chuàng)新版本。

官方下載文檔:https://dev.mysql.com/downloads/mysql/
官方指南:https://dev.mysql.com/doc/refman/8.1/en/

二、8.1.0版本部署

官方的下載渠道已開(kāi)放,dev.mysql.com/downloads/
RPM包下載選擇Linux - Generic,適配對(duì)應(yīng)的操作系統(tǒng)GCC版本。

2.1、環(huán)境準(zhǔn)備

  • 操作系統(tǒng)
[root@jeames ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.1 (Ootpa)
  • 關(guān)閉防火墻#
    查看防火墻是狀態(tài)
[root@jeames ~]# systemctl status firewalld

關(guān)閉防火墻

[root@jeames ~]# systemctl stop firewalld
  • selinux關(guān)閉
    修改參數(shù)文件/etc/sysconfig/selinux中SELINUX的值為disabled

[root@jeames ~]# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

修改完成后需要重啟服務(wù)器才生效

2.2、配置yum安裝依賴

  • 創(chuàng)建掛載路徑
mkdir -p /mnt/cdrom
  • 掛載系統(tǒng)鏡像光盤到指定目錄
#因?yàn)楣獗P的格式通常是iso9660,意思是/dev/sr0掛載在/mnt/cdrom目錄上
mount -t iso9660 /dev/sr0 /mnt/cdrom
mount: /mnt/cdrom: WARNING: device write-protected, mounted read-only.
  • 修改yum源配置文件
    ##編輯rhel8-local.repo文件,加入以下內(nèi)容

[root@jeames ~]# cd /etc/yum.repos.d
[root@jeames yum.repos.d]# rm -rf *
[root@jeames yum.repos.d]# vi rhel8-local.repo

[localREPO]
name=localhost8
baseurl=file:///mnt/cdrom/BaseOS
enable=1
gpgcheck=0

[localREPO_APP]
name=localhost8_app
baseurl=file:///mnt/cdrom/AppStream
enable=1
gpgcheck=0
  • 配置好后重建本地緩存
yum clean all 
yum makecache 
yum repolist
  • 安裝MySQL 8.1版本二進(jìn)制所需的依賴包
yum -y install libncurses*
yum -y install libaio
yum -y install perl perl-devel
yum -y install autoconf
yum -y install numactl.x86_64


##通過(guò)rpm -qa可以查詢是否將依賴包安裝成功
[root@jeames yum.repos.d]# rpm -qa libaio perl perl-devel autoconf \ numactl.x86_64 libncurses

2.3、用戶及目錄創(chuàng)建

注:可以部署多個(gè)實(shí)例,通過(guò)端口區(qū)分root 用戶操作:

mkdir -p /mysql/data/mysql3306
mkdir -p /mysql/app/
mkdir -p /mysql/conf/
mkdir -p /mysql/data/mysql3306/pid/
mkdir -p /mysql/data/mysql3306/socket/
mkdir -p /mysql/data/mysql3306/log/
mkdir -p /mysql/data/mysql3306/binlog/
mkdir -p /mysql/data/mysql3306/errlog
mkdir -p /mysql/data/mysql3306/relaylog/
mkdir -p /mysql/data/mysql3306/slowlog/
mkdir -p /mysql/data/mysql3306/tmp/

2.4、創(chuàng)建用戶及組

[root@jeames ~]# groupadd mysql
[root@jeames ~]# useradd -g mysql mysql
[root@jeames ~]# chown -R mysql:mysql /mysql
[root@jeames ~]# passwd mysql
Changing password for user mysql.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@jeames ~]# cat /etc/group | grep mysql
mysql?1001:
[root@jeames ~]# cat /etc/passwd | grep mysql
mysql?1001:1001::/home/mysql:/bin/bash

2.5、解壓縮包

[root@jeames ~]# cd /opt
[root@jeames opt]# cp mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz /mysql/app
[root@jeames opt]# chown -R mysql:mysql /mysql

mysql用戶操作

[root@jeames ~]# su - mysql
md5 值驗(yàn)證,保證下載到的軟件包無(wú)破損無(wú)木馬
[mysql@jeames ~]$ cd /mysql/app
[mysql@jeames app]$ ll
total 457200
-rw-r--r-- 1 mysql mysql 468170248 Jul 19 15:29 mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz
[mysql@jeames app]$ md5sum mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz
5285185fad2b4352c878380a741e29f0  mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz

解壓軟件包并重命名

[mysql@jeames app]$ tar xvf mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz
[mysql@jeames app]$ mv mysql-8.1.0-linux-glibc2.28-x86_64 mysql8.1.0

[mysql@jeames app]$ ll
total 457200
drwxrwxr-x 9 mysql mysql       129 Jul 19 15:31 mysql8.1.0
-rw-r--r-- 1 mysql mysql 468170248 Jul 19 15:29 mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz

2.6、環(huán)境變量配置

##mysql用戶下操作
cat >> /home/mysql/.bash_profile << “EOF”
MYSQL_HOME=/mysql/app/mysql8.1.0
PATH=P A T H : PATH:PATH:HOME/.local/bin:H O M E / b i n : HOME/bin:HOME/bin:MYSQL_HOME/bin
EOF

環(huán)境變量生效

[mysql@jeames app]$ source ~/.bash_profile
[mysql@jeames app]$ which mysql
/mysql/app/mysql8.1.0/bin/mysql

2.7、創(chuàng)建參數(shù)文件

由于是二進(jìn)制文件安裝,數(shù)據(jù)庫(kù)參數(shù)文件需要自己配置

cat >> /mysql/conf/my3306.cnf << "EOF"
[mysqld]
server_id = 8103306
default-storage-engine= InnoDB
basedir=/mysql/app/mysql8.1.0
datadir=/mysql/data/mysql3306/data/
socket=/mysql/data/mysql3306/socket/mysql.sock
log-error=/mysql/data/mysql3306/log/mysqld.log
pid-file=/mysql/data/mysql3306/pid/mysqld.pid
port=3306
default-time_zone='+8:00'
default_authentication_plugin=mysql_native_password # 加此參數(shù)可遠(yuǎn)程登陸
transaction_isolation=READ-COMMITTED
max_connections=1500
back_log=500
wait_timeout=1800
max_user_connections=800
innodb_buffer_pool_size=1024M
innodb_log_file_size=512M
innodb_log_buffer_size=40M
slow_query_log=ON
long_query_time=5
# log settings #
slow_query_log = ON
slow_query_log_file = /mysql/data/mysql3306/slowlog/slow3306.log
log_error = /mysql/data/mysql3306/errlog/err3306.log
log_error_verbosity = 3
log_bin = /mysql/data/mysql3306/binlog/mysql_bin
log_bin_index = /mysql/data/mysql3306/binlog/mysql_binlog.index
general_log_file = /data/mysql/mysql3306/generallog/general.log
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
expire_logs_days = 90
binlog_expire_logs_seconds = 2592000      #30d
long_query_time = 2
min_examined_row_limit = 100
log_throttle_queries_not_using_indexes = 1000
innodb_flush_log_at_trx_commit=1

EOF

2.8、數(shù)據(jù)庫(kù)初始化

mysql用戶操作:

mysqld --defaults-file=/mysql/conf/my3306.cnf --initialize --user=mysql --basedir=/mysql/app/mysql8.1.0 --datadir=/mysql/data/mysql3306/data/

注意:以上同一行執(zhí)行

2.9、啟動(dòng)Mysql

[mysql@jeames app]$ mysqld_safe --defaults-file=/mysql/conf/my3306.cnf --user=mysql &

2.10、登陸MySQL 8.1

第一次登錄 MySQL 時(shí),需要到錯(cuò)誤日志下找初始化密碼,使用 socket 加密碼登錄進(jìn)去后,無(wú)法查詢?nèi)魏螙|西,提示先要修改 root 密碼.

[mysql@jeames ~]$ cat /mysql/data/mysql3306/errlog/err3306.log | grep password
[mysql@jeames ~]$ mysql -uroot -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

[mysql@jeames ~]$ mysql -uroot -p  -P 3306 -S /mysql/data/mysql3306/socket/mysql.sock
mysql> status
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

  • 修改密碼
mysql> alter user root@'localhost' identified by 'root';

mysql> status
--------------
mysql  Ver 8.1.0 for Linux on x86_64 (MySQL Community Server - GPL)

Connection id:          8
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         8.1.0
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:            /mysql/data/mysql3306/socket/mysql.sock
Binary data as:         Hexadecimal
Uptime:                 3 min 46 sec

Threads: 2  Questions: 8  Slow queries: 0  Opens: 398  Flush tables: 3  Open tables: 36  Queries per second avg: 0.035
  • 遠(yuǎn)程登陸設(shè)置
mysql> create user root@'%' identified with mysql_native_password by 'root';
Query OK, 0 rows affected (0.01 sec)

mysql> grant all on *.* to root@'%' with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host,plugin from mysql.user;  
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| root             | %         | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
5 rows in set (0.01 sec)

三、新特性

3.1、密碼參數(shù)

增加了一個(gè)新的系統(tǒng)參數(shù),用于限制用戶改密碼時(shí)的最少替換字符數(shù)。

validate_password.changed_characters_percentage,該值是百分比。

3.2、錯(cuò)誤日志加強(qiáng)

隨著 MySQL 服務(wù)器、插件和組件的啟動(dòng)和關(guān)閉消息的增加,關(guān)閉過(guò)程的日志記錄得到了增強(qiáng)。這些消息現(xiàn)在也被記錄為關(guān)閉連接。

這些附加功能應(yīng)該有助于故障排除和調(diào)試問(wèn)題,特別是在服務(wù)器需要很長(zhǎng)時(shí)間才能關(guān)閉的情況下。

此版本引入了一系列新的消息,這些消息會(huì)在MySQL錯(cuò)誤日志中記錄,包括以下內(nèi)容:
MySQLserver的啟動(dòng)和關(guān)閉日志消息,包括使用–initialize參數(shù)啟動(dòng)時(shí)的日志。
插件關(guān)閉階段的啟動(dòng)和結(jié)束日志消息。
組件關(guān)閉階段的啟動(dòng)和結(jié)束日志消息。
連接關(guān)閉階段的開(kāi)始和結(jié)束日志消息。
在強(qiáng)制斷開(kāi)連接后仍然活動(dòng)的線程數(shù)量和ID的日志消息,這些線程可能會(huì)導(dǎo)致等待情況。

mysql> show variables like 'log_error';
+---------------+------------------------------------------+
| Variable_name | Value                                    |
+---------------+------------------------------------------+
| log_error     | /mysql/data/mysql3306/errlog/err3306.log |
+---------------+------------------------------------------+

3.3、二進(jìn)制日志

libmysqlclient.so 共享庫(kù)中添加了幾個(gè)函數(shù),使開(kāi)發(fā)人員能夠訪問(wèn) MySQL server的二進(jìn)制日志:
mysql_binlog_open()、mysql_binlog_fetch() 和 mysql_binlog_close()。

3.4、審計(jì)日志

審計(jì)日志可以指定庫(kù)database存儲(chǔ)JSON過(guò)濾表。
新增Audit_log_direct_writes系統(tǒng)變量,用于計(jì)算直接寫(xiě)入審計(jì)文件的次數(shù)。
MySQL企業(yè)審計(jì)使用臨時(shí)緩沖區(qū)保存寫(xiě)入日志文件的查詢事件數(shù)據(jù)。
然而,由于server可能無(wú)法為長(zhǎng)查詢分配額外內(nèi)存,審計(jì)插件已經(jīng)進(jìn)行了優(yōu)化,在JSON格式記錄日志時(shí),不再使用臨時(shí)緩沖區(qū)。
MySQL企業(yè)審計(jì)現(xiàn)在支持使用調(diào)度程序組件來(lái)配置和執(zhí)行定期任務(wù),以刷新內(nèi)存緩存。
mysql -u root -D database_name -p < audit_log_filter_linux_install.sql

3.5、組復(fù)制增強(qiáng)

添加了一些特定于組復(fù)制插件的狀態(tài)變量,這些變量可以改進(jìn)對(duì)網(wǎng)絡(luò)不穩(wěn)定的診斷和故障排除, 為每個(gè)組成員 (group member) 提供有關(guān)網(wǎng)絡(luò)使用情況、控制消息和數(shù)據(jù)消息的統(tǒng)計(jì)信息。 作為這項(xiàng)工作的一部分,Performance Schema 的 replication_group_communication_information 表中添加了一個(gè)新列 MEMBER_FAILURE_SUSPICIONS_COUNT 。該列的內(nèi)容被格式化為一個(gè) JSON 數(shù)組,其鍵是組成員 ID,其值是該組成員被認(rèn)為是可疑的次數(shù)。

3.6、廢棄特性

以下功能在 MySQL 8.1 中已棄用,并且可能會(huì)在未來(lái)的系列中刪除。如果顯示替代方案,則應(yīng)更新應(yīng)用程序以使用它們。

  • mysqlpump
    由于 MySQL 提供了具有相同或額外功能的 mysqldump 和 MySQL Shell 等其他方法來(lái)執(zhí)行數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)和備份,
    mysqlpump 已經(jīng)變得多余,現(xiàn)在已棄用。現(xiàn)在調(diào)用這個(gè)程序會(huì)產(chǎn)生一個(gè)警告。您應(yīng)該記住,mysqlpump 可能會(huì)在 MySQL 的未來(lái)版本中被刪除。

  • binlog_format
    binlog_format 服務(wù)器系統(tǒng)變量現(xiàn)已棄用,并且可能會(huì)在 MySQL 的未來(lái)版本中刪除。 與此變量關(guān)聯(lián)的功能(更改二進(jìn)制日志記錄格式)也已被棄用。
    此更改的含義是,當(dāng)刪除 binlog_format 時(shí),MySQL 服務(wù)器將僅支持基于行的二進(jìn)制日志記錄(MySQL 8.0 中的默認(rèn)設(shè)置)。 因此,新安裝應(yīng)僅使用基于行 (Row) 的二進(jìn)制日志記錄,而使用基于語(yǔ)句或混合日志記錄格式的現(xiàn)有安裝應(yīng)遷移到基于行的格式。
    此更改的含義是,當(dāng)刪除 binlog_format 時(shí),MySQL 服務(wù)器將僅支持基于行的二進(jìn)制日志記錄(MySQL 8.0 中的默認(rèn)設(shè)置)。 因此,新安裝應(yīng)僅使用基于行 (Row) 的二進(jìn)制日志記錄,而使用基于語(yǔ)句或混合日志記錄格式的現(xiàn)有安裝應(yīng)遷移到基于行的格式。
    系統(tǒng)變量 log_bin_trust_function_creators 和 log_statements_unsafe_for_binlog 僅在基于語(yǔ)句的日志記錄上下文中有用,現(xiàn)在也已棄用,因此也將在 MySQL 的未來(lái)版本中刪除。 現(xiàn)在設(shè)置或選擇剛才提到的任何變量的值都會(huì)引發(fā)警告。 (WL#13966,WL#15669)

  • mysql_native_password
    mysql_native_password 身份驗(yàn)證插件現(xiàn)已棄用,并可能在 MySQL 的未來(lái)版本中刪除。 如果帳戶嘗試使用 mysql_native_password 作為身份驗(yàn)證方法進(jìn)行身份驗(yàn)證, CREATE USER、ALTER USER 和 SET PASSWORD 操作現(xiàn)在會(huì)在服務(wù)器錯(cuò)誤日志中插入棄用警告。

以上就是MySQL最新版8.1.0版本部署和新特性詳解的詳細(xì)內(nèi)容,更多關(guān)于MySQL8.1.0版本部署和新特性的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論