Linux下MySQL 8.0 二进制安装

mysql社区版:开源 免费,不提供技术支持,需要配合开源工具来使用。

mysql企业版:和社区版本代码一样,通过插件提供额外功能特性,比社区版本增加线程插件,审计插件。等额外的功能特性

mysql cluseter cge 集群商业版。是一个实时开源事务数据库,专为在高吞吐量条件下快速,永久地访问数据而设计。支持,并行分布式查询引擎。自动分区伸缩,内存实时数据库等。

mysql 安装可以用docker利用镜像生成容器部署,优点快速,缺点,docker利用镜像生成容器,容器的稳定性较差。需要利用k8s 等编排工具进行容器编排。安全性较差。docker 与宿主机共享内核,和文件系统。且需要时常更新官方发布的cve漏洞补丁。

mysql8.0 新增特性

1 文档存储使用单个数据库开发SQL和NoSQL文档应用程序。

2 事务数据字典实现为一组存储在单个InnoDB表空间中的SQL表。

3 SQL角色用于授予和拒绝用户组的权限,大大减少了安全工作量。

4 对于更丰富的移动应用程序和国际字符集,默认为utf8mb4字符集。

5 MySQL 8.0中添加了通用表表达式,也称为WITH查询。

6 窗口函数可降低代码复杂性并帮助开发人员提高工作效率。

7 隐形索引,可以更好地管理全天候运行的应用程序的软件升级和数据库更改

8 降序索引以消除对结果进行排序的需要并导致性能改进

mysql二进制安装 linux-generic

根据官方8.0参考手册安装地址如下

https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html

安装前要卸载mariadb

rpm -qa | grep mairadb

rpm -e --nodes 卸载

第一步下载 选择8.0版本 上传到服务器解压

Linux下MySQL 8.0 二进制安装

我在解压到/opt 目录下

tar -Jxvf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz

Linux下MySQL 8.0 二进制安装

首先关闭selinux 和防火墙。

setenforce 0

 systemctl stop firewalld.service

mysql 依赖于libaio库文件 要安装libaio.(不安装初始化的时候会失败,阿里云网易yum源速度快,CentOS7 系统默认安装)

yum clean all

rm -rf /etc/yum.repos.d/C*

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

mv CentOS7-Base-163.repo /etc/yum.repos.d/netease.repo

yum makecache

yum install gcc gcc-c++ openssl openssl-devel libaio libaio-devel  ncurses  ncurses-devel -y

Linux下MySQL 8.0 二进制安装

创建mysql 用户和组,并设置禁止登陆系统

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

创建一个目录链接

cd /opt/

ln -s /opt/mysql-8.0.12-linux-glibc2.12-x86_64/ mysql

创建数据目录和日志目录

cd /opt

mkdir data

mkdir log

chmod 755  /opt/mysql/log

chmod 755 /opt/mysql/data

配置my.cnf

[mysqld]

port=3306

datadir=/opt/mysql/data

log-error=/opt/mysql/mysql-err.log

user=mysql

default_authentication_plugin=mysql_native_password

[client]

socket=/tmp/mysql.sock

配置环境变量

echo "export PATH=$PATH:/opt/mysql/bin"  >>  /etc/profile

source /etc/profile

初始化数据库

/opt/mysql/bin/mysqld  --initialize  --user=mysql  记住初始化密码

设置启动文件

/opt/mysql/support-files/mysql.server  /etc/init.d/mysqld

vim /etc/init.d/mysqld

更改basedir = /opt/mysql/

datadir = /opt/mysql/data

更改执行权限 chmod+755 /etc/init.d/mysqld

systemctl restart mysqld  启动服务

或者利用mysql_safe 启动

mysqld_safe --user=mysql

利用刚才记录的密码登陆数据库,并更改密码

ALTER user 'root'@'localhost' IDENTIFIED BY 'mysql';

FLUSH PRIVILEGES;

相关推荐