mysql8.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版本 上传到服务器解压
我在解压到/opt 目录下
tar -Jxvf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
首先关闭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
创建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;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341