00. 参照
01. 下面先是安装入门:
下载:
$ wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz --no-check-certificate
检查依赖:
$ yum search libaio
$ sudo yum install -y libaio
创建用户和组:
$ groupadd mysql
$ useradd -r -g mysql -s /bin/false mysql
解压和准备:
$ tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /opt/mai/
$ cd /opt/mai/
$ ln -s mysql-8.0.11-linux-glibc2.12-x86_64/ mysql8.0
$ cd mysql8.0/
$ mkdir mysql-files
$ sudo chown mysql:mysql mysql-files/
$ sudo chmod 750 mysql-files/
安装:
$ sudo bin/mysqld --initialize --user=mysql --basedir=/opt/mai/mysql8.0/
$ sudo ./bin/mysql_ssl_rsa_setup --datadir=/opt/mai/mysql8.0/data/
$ sudo ./bin/mysqld_safe --user=mysql --basedir=/opt/mai/mysql8.0/ --datadir=/opt/mai/mysql8.0/data/ --port=3307 &
$ ./bin/mysql -uroot -p"ElqQliXfo4.N"
$ sudo cp support-files/mysql.server /etc/init.d/mysqld8.0
$ sudo vim /etc/init.d/mysqld8.0
basedir=/opt/mai/mysql8.0
datadir=/opt/mai/mysql8.0/data
增加配置文件:(8.0版本可以无配置文件启动)
$ vim my.cnf--手动新建一个配置文件,以表示从这里启动
[mysql]
default-character-set = utf8mb4
[mysqld]
port = 3307
basedir = /opt/mai/mysql8.0
datadir = /opt/mai/mysql8.0/data
max_connections = 1000
character-set-server = utf8 /opt/mai/mysql8.0
datadir = /opt/mai/mysql8.0/data
max_connections = 1000
character-set-server = utf8mb4
default-storage-engine = INNODB
启动和客户端查看:
$ sudo service mysqld8.0 restart
$ ./bin/mysql -uroot -p"ElqQliXfo4.N"--在mysqld --initialize初始化时生成的
mysql> alter user 'root'@'localhost' identified by '123456';--初次更新密码
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.11 |
+-----------+
02. 更新内容
在MySQL8.0中增加、删除、改善的内容是比较多的,跨越了从5.7版本直接升级到MySQL8.0,其中包括以下内容:
数据字典:MySQL8.0整合了关于数据库对象信息存储在事物数据字典上。以前版本是存在元数据文件和非事务表;
原子DDL:存储引擎操作和二进制日志写入组合到单个原子事务中;
帐户安全:caching_sha2_password实现SHA-256密码散列;
资源管理:MySQL8.0支持创建和管理资源组,比如CPU、线程等;
InnoDB增强:内容非常多,参考InnoDB章节
字符集:MySQL8.0使用了utf8mb4;
JSON增强:参考JSON章节
语句:由于某些语句已经更新了,如果再MySQL5.7前的版本升级到MySQL8.0上,有可能不能将数据升级成功;
其他。