使用tar命令解压
tar -zxvf mysql-8.0.32-el7-x86_64.tar.gz -C /usr/local/
到/usr/local/修改解压后的文件名为mysql
创建mysql用户组和用户,自己在mysql下面创建data目录存储信息,把权限交给mysql这个用户
groupadd mysql
useradd -r -g mysql mysql
chown mysql:mysql -R /usr/local/mysql/data
其中第二个命令可能报错:chown: cannot access ‘/usr/local/mysql-8.0.32/data’: No such file or directory,意味着 MySQL 服务器(mysqld)在启动过程中无法找到libaio.so.1这个共享库文件。libaio.so.1库通常用于异步 I/O 操作,MySQL 在某些情况下(如使用 InnoDB 存储引擎)需要这个库来实现高效的 I/O 操作。执行一下命令解决:
sudo yum install libaio
在/etc目录下创建mysql配置文件my.cnf,内容为:
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/data/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
port = 3307
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
character-set-server = UTF8MB4
[client]
socket =/usr/local/mysql/data/mysql.sock
default-character-set = UTF8MB4
basedir是你bin文件所在的目录
datadir是你的数据目录
socker设置为data里面这样启动时会产生mysql.socker文件会放在data目录下面,不会不知道在哪log-error文件道理也是如此,你pid文件也可以防在data文件目录下
port是启动端口
sql_mode 是 MySQL 数据库的一个系统变量,用于定义服务器执行 SQL 语句时应遵守的规则和模式。这个变量可以设置多种不同的模式,以改变 MySQL 行为的各个方面,例如日期和时间的处理、数据类型的验证等
其他的按照此配置就行
进入bin目录初始化data文件注意里面的参数要和自己的目录对应
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize
需注意,最后红框中的内容是初始密码,先复制暂存一下。
执行命令将会让你使用service来启动和停止mysql:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动mysql:
service mysql start
设置环境变量:
export PATH=$PATH:/usr/local/mysql/bin
执行这条命令这样那就可以在任意目录下执行mysql -uroot,不用在bin目录下面。
进入mysql,使用日志文件给出的初始密码,进去后你使用数据库的命令可能会提示说让你设置新密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';
这样压缩包安装mysql就完成了。