mysql社区版:开源且免费,但不提供技术支持,需搭配其他开源工具使用。
MySQL企业版:与社区版代码相同,通过插件提供额外功能,如线程插件、审计插件等。
MySQL Cluster CGE集群商业版:实时开源事务数据库,设计用于高吞吐量环境下快速、持久地访问数据。支持并行分布式查询引擎、自动分区扩展和内存实时数据库等功能。
MySQL可以通过Docker镜像生成容器进行安装,优点是快速部署,但缺点是容器稳定性较差,需要使用Kubernetes等编排工具进行管理。安全性方面,Docker与宿主机共享内核和文件系统,且需要定期更新官方发布的CVE漏洞补丁。
MySQL 8.0的新增特性包括:
- 使用单一数据库开发SQL和NoSQL文档应用程序的文档存储功能。
- 事务数据字典,存储在单个InnoDB表空间中的SQL表。
- SQL角色,用于简化用户组权限的授予和撤销,减少安全管理工作量。
- 默认使用utf8mb4字符集,支持更丰富的移动应用程序和国际字符集。
- 增加了通用表表达式(WITH查询)。
- 窗口函数,降低代码复杂性,提高开发效率。
- 隐形索引,有助于管理全天候运行的应用程序的软件升级和数据库变更。
- 降序索引,提升性能,减少对结果排序的需求。
MySQL二进制安装(Linux-generic)参考官方8.0手册,安装地址如下:
https://www.php.cn/link/726bdcdade105126e55aa931ab12d3f1
安装前需卸载MariaDB:
rpm -qa | grep mariadb 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 <p>[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;
以上就是Linux下MySQL 8.0 二进制安装的详细内容,更多请关注知识资源分享宝库其它相关文章!
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。