MySQL8.0初體驗

Rangle發表於2018-11-12

MySQL8.0的官方社群開源版出來有段時間了,而percona的8.0版本還沒有正式對外發布(已釋出測試版),一直以來也沒安裝體驗下這個號稱質的飛躍的版本,今天正好有些時間就下了安裝體驗體驗。

一、MySQL8.0下載

下載地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz

二、安裝環境

軟體名稱 軟體版本 備註
作業系統 RHEL6.6_X86_64  
資料庫 MySQL8.0.13  

 

三、MySQL8.0安裝

官方參考:https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html

1.軟體下載

[root@node tools]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz

2.依賴包安裝

[root@node mysql]# yum search libaio
[root@node mysql]# yum install libaio
3.使用者建立
[root@node mysql]# groupadd mysql
[root@node mysql]# useradd -r -g mysql -s /bin/false mysql

4.解壓縮安裝包

[root@node mysql]# cd /usr/local
[root@node mysql]# tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz

5.規劃軟體和資料檔案目錄
[root@node tools]# mv mysql-8.0.13-linux-glibc2.12-x86_64 /usr/local/mysql
[root@node mysql]# cd /usr/local/mysql
[root@node mysql]# mkdir -p /data/mysql/data

6.修改屬主許可權
[root@node mysql]# chown -R mysql:mysql /data/mysql/data
[root@node mysql]# chmod -R 750 /data/mysql/data

7.資料庫初始化
[root@node mysql]# bin/mysqld –initialize –user=mysql  –datadir=/data/mysql/data
2018-11-12T02:49:23.293863Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 24839
2018-11-12T02:49:26.840424Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Vxxx1n%Mj7uZ
2018-11-12T02:49:29.671663Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server has completed
8.ssl部署
[root@node mysql]# bin/mysql_ssl_rsa_setup
Generating a 2048 bit RSA private key
…….+++
……………………….+++
writing new private key to `ca-key.pem`
—–
Generating a 2048 bit RSA private key
…………………………………….+++
..+++
writing new private key to `server-key.pem`
—–
Generating a 2048 bit RSA private key
…………………………………………………………+++
……………….+++
writing new private key to `client-key.pem`
—–
9.啟動資料庫
[root@node mysql]# bin/mysqld_safe –user=mysql –datadir=/data/mysql/data &
[1] 25195
[root@node mysql]# Logging to `/data/mysql/data/node.err`.
2018-11-12T02:51:59.390239Z mysqld_safe Starting mysqld daemon with databases from /data/mysql/data
10.連線資料庫
[root@node mysql]# mysql -uroot -p`Vjk01n%Mj7uZ`  -hlocalhost

mysql> select user,host from mysql.user;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

11.修改資料庫初始密碼

mysql> alter user root@`localhost` identified by `xxxx`;
Query OK, 0 rows affected (0.07 sec)
12.資料庫查詢
mysql> select user,host from mysql.user;   
+——————+———–+
| user             | host      |
+——————+———–+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+——————+———–+
4 rows in set (0.00 sec)
13.MySQL啟動服務配置
[root@node mysql]# cp -rp support-files/mysql.server  /etc/init.d/mysqld

[root@node data]# chkconfig  –add mysqld
[root@node mysql]# vi /etc/my.cnf

[root@node ~]# vi /root/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/sysbench/bin:/usr/local/mysql/bin/
[root@node ~]# source ~/.bash_profile
14.殺掉MySQL程式,通過service服務重啟資料庫
[root@node data]# service mysqld start
Starting MySQL………………                           [  OK  ]

至此MySQL8.0二進位制包資料庫安裝完畢,開始體驗其功能。
四、MySQL8.0功能體驗

 https://www.mysql.com/why-mysql/white-papers/whats-new-mysql-8-0/

MySQL8.0號稱快於5.7歷史版本2倍的速度(MySQL 8.0: Up to 2x Faster)

1.資料字典innodb表
2.密碼加密方式更改
3.預設字符集utf8mb4
4.json功能加強
5.SQL功能加強
6.視窗函式
7.隱藏索引
8.降序索引
9.查詢一致性改善
10.優化直方圖