一、MySQL 8.0新特性: 1、默認(rèn)字符集由latin1變?yōu)?/span>utf8mb4 2、MyISAM系統(tǒng)表全部換成InnoDB表 3、自增主鍵AUTO_INCREMENT的值支持持久化 4、InnoDB表的DDL支持事務(wù)完整性 5、支持在線修改全局參數(shù)并持久化 6、新增降序索引 7、對(duì)于group by字段不再隱式排序 8、大幅改進(jìn)了對(duì)JSON的支持 9、支持redo和undo日志加密 10、InnoDB select for update跳過(guò)鎖等待 11、在SQL語(yǔ)法中增加SET_VAR語(yǔ)法 12、使用INVISIBLE關(guān)鍵字在創(chuàng)建表或進(jìn)行表變更中設(shè)置索引是否可見(jiàn) 13、支持直方圖 14、新增innodb_dedicated_server參數(shù) 15、日志分類更詳細(xì) 16、undo空間自動(dòng)回收 17、新增資源組功能,用于調(diào)控線程優(yōu)先級(jí)及綁定CPU 18、增加角色管理 二、MySQL 8.0安裝與配置: 1、關(guān)閉firewalld和SELinux 2、刪除CentOS 7自帶的MariaDB: # rpm -qa | grep -i mariadb --> mariadb-libs-5.5.60-1.el7_5.x86_64 # rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64 3、刪除原有的MySQL:# rpm -qa | grep -i mysql //有就刪除 4、刪除原有的MySQL配置文件:# find / -name my.cnf //有就刪除 5、下載MySQL 8.0,下載地址https://dev./downloads/mysql/ 6、上傳所有RPM軟件包至服務(wù)器的/tmp目錄 mysql-community-client-8.0.16-1.el7.x86_64.rpm mysql-community-libs-8.0.16-1.el7.x86_64.rpm mysql-community-common-8.0.16-1.el7.x86_64.rpm mysql-community-libs-compat-8.0.16-1.el7.x86_64.rpm mysql-community-devel-8.0.16-1.el7.x86_64.rpm mysql-community-server-8.0.16-1.el7.x86_64.rpm 7、安裝MySQL 8.0: # cd /tmp # yum -y localinstall *.rpm 8、初始化MySQL 8.0: # ll -lh /var/lib/mysql --> 空 # mysqld -I --user=mysql # ll -lh /var/lib/mysql 備注:使用命令# mysqld --verbose --help | less查看詳細(xì)幫助信息 9、修改/etc/my.cnf配置文件: # cp /etc/my.cnf /etc/my.cnf.bak # vim /etc/my.cnf,在[mysqld]配置段中新增如下代碼: port=3306 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci skip_name_resolve=1 innodb_file_per_table=1 10、啟動(dòng)MySQL 8.0: # systemctl start mysqld.service # ss -tunlp | grep 3306 # systemctl status mysqld.service # systemctl enable mysqld.service 11、MySQL 8.0安全配置向?qū)В?/span> # cat /var/log/mysqld.log | grep password --> x:o:&mg-r2Id # mysql_secure_installation 12、授權(quán)遠(yuǎn)程用戶登錄: # mysql -uroot -p mysql> create user 'root'@'%' identified by '123456'; mysql> grant all on *.* to 'root'@'%'; mysql> flush privileges; 備注:MySQL 8.0已經(jīng)不支持在grant授權(quán)的同時(shí)創(chuàng)建用戶,而是需要先創(chuàng)建用戶,再進(jìn)行授權(quán) 13、使用客戶端工具Navicat Premium(版本12.1.17)遠(yuǎn)程連入MySQL 8.0: 備注:如果使用客戶端工具連接MySQL 8.0時(shí)提示“錯(cuò)誤號(hào)碼2058:Plugin caching_sha2_password could not be loaded”,出現(xiàn)這個(gè)錯(cuò)誤提示的原因是MySQL 8.0之前的版本中加密規(guī)則是mysql_native_password,而在MySQL 8.0之后的版本中加密規(guī)則是caching_sha2_password,解決此問(wèn)題的方法有以下2種 (1)升級(jí)客戶端工具版本 (2)把MySQL用戶登錄密碼加密規(guī)則還原成mysql_native_password: a、修改密碼為永不過(guò)期: mysql> alter user 'root'@'%' identified by '123456' password expire never; b、修改密碼并指定MySQL用戶登錄密碼加密規(guī)則為mysql_native_password: mysql> alter user 'root'@'%' identified with mysql_native_password by '123456'; c、刷新授權(quán)表: mysql> flush privileges; |
|