mysql 8.0安装全过程(linux上二进制包安装,非root用户)

本文详细介绍了如何在Linux系统中卸载MariaDB,下载并安装MySQL8.0.x社区版,包括创建用户、数据目录,配置my.cnf,安装依赖,初始化数据库,启动服务,设置环境变量以及处理可能出现的错误,如libaio.so.1缺失、数据目录不可用等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

介绍

安装

0、删除随系统安装的mariadb

1、下载

2、解压

3、创建用户

4、创建数据目录

5、核心启动配置文件

6、安装依赖

7、初始化mysql文件

8、启动服务

9、配置环境变量

10、改root登录密码

可能遇到错误:

1) libaio.so.1 缺少

2)The designated data directory /data/mysql/ is unusable

3)Can't connect to local MySQL server through socket '/tmp/mysql.sock'

4)log-error set to '/data/mysql_log/mysql.log', however file don't exists. Create writable for user 'mysql'

5)未在my.cnf 设定的正确位置产生pid,sock等文件。


介绍

mysql 是一种RDBMS  关系型数据库管理系统 Relational Database Management System

关系型数据库将数据保存在不同的表中,而不是放在一个大仓库内,增加了速度,提高了灵活性。

.

mysql版本

5.7.x    和    8.0.x    是目前主流。2个版本有性能上差异。

一般三个月迭代一个小版本

.

安装

0、删除随系统安装的mariadb

默认linux会安装mariadb,会造成my.cnf等配置的冲突,不能读入默认的my.cnf配置文件。

当发现指定了这个配置文件启动但没有在设定的位置产生log、pid 等文件的时候就来检查下这个问题。

rpm -qa | grep mariadb       #查看是否存在mariadb安装

rpm -e  --nodeps  mariadb-libs          #卸载包。 --nodeps 不检验依赖

1、下载

去官网 https://dev.mysql.com/downloads/mysql/ 下载 Community(社区版) 的 generic(通用版)  二进制包文件。

mysql一般不用源码包编译因为时间太久。

.

看一下自己系统的C文件库是多少版本

 

 .

2、解压

下载文件名为 mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz  ,需用 J 而不是 z 来解压。

tar Jxvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz

.

做一个软链接让名字变短点。

ln -s mysql-8.0.33-linux-glibc2.17-x86_64-minimal mysql

 

 .

3、创建用户

useradd  -s  /sbin/nologin  mysql       创建一个无系统登录权限的mysql用户

useradd -s /sbin/nologin mysql

.

4、创建数据目录

mkdir -p /data/mysql

最好是单独在一个大的分区且是性能比较好的磁盘。数据库对磁盘读写的性能要求比较高。

.

设定数据目录的属主属组为要写入的用户名

chown -R mysql:mysql /data/mysql

.

5、核心启动配置文件

/etc/my.cnf      

( 很多linux会默认自带有mariadb的配置文件,看内容可识别出来)

客户端【mysql】可配置端口和socket等,也可不配置(也可用【client】配置)。

重要的是服务端【mysqld】的配置,介绍几个最核心配置:

basedir —— 指定mysql程序路径

datadir —— 指定数据存放路径

socket  —— .sock套接字文件是linux本地进程之间通信的一种方式,不熟悉mysql不建议改路径。有个细节,客户端和服务端的socket必须一致。如果只设定服务端里的socket会出问题。最后错误归结里有一个专门说这个问题的。

mysqlx_socket —— 8.0版本用于MySQL X 管理协议,端口33060。从 MySQL 8.0.14 开始,MySQL 服务器允许专门为管理连接配置 TCP/IP 端口。这为用于普通连接的网络接口上允许的单个管理连接提供了一种替代方法,即使已经建立了 max_connections 连接,但这个协议的端口不算在连接数内。但只有在启动时设置了 admin_address 系统变量以指示管理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值