第一步:下载mysql的源码包
网址:https://dev.mysql.com/downloads/mysql/

下载到本地后上传到linux服务器上

第二步:准备安装环境
检查服务器上是否有之前的安装的mysql残留,如果有的话要删干净
创建用户和组
groupadd mysql
useradd mysql -g mysql
passwd mysql
创建工作目录
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql/
第三步:解压安装包,并安装
tar -xf mysql-9.1.0-linux-glibc2.28-x86_64.tar.xz
mv mysql-9.1.0-linux-glibc2.28-x86_64 /usr/local/mysql
第四步:修改配置
编译配置文件
vim /etc/my.cnf
添加基础配置文件
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
user=mysql
port=3306
socket=/data/mysql/mysql.sock
log_error=/data/mysql/mysqld.err
[client]
socket=/data/mysql/mysql.sock
添加环境变量
vim /etc/profile
最后追加配置
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$HOME/bin:$MYSQL_HOME/bin
生效
source /etc/profile
第五步:初始化实例
mysqld --defaults-file=/etc/my.cnf --initialize
如何没有弹出错误信息,证明初始化成功
初始化完成后可以在mysql的日志信息里看到初始密码
[root@mysql ~]# cat /data/mysql/mysqld.err
2024-10-24T00:57:10.125759Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2024-10-24T00:57:10.127636Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 9.1.0) initializing of server in progress as process 1500
2024-10-24T00:57:10.140769Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-10-24T00:57:10.936761Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-10-24T00:57:12.759021Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 5vl5AgKxR:+w
2024-10-24T00:57:14.882135Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.
我这里的初始密码是5vl5AgKxR:+w
第六步:使用systemd系统管理mysql服务
创建systemd服务配置文件
vim /etc/systemd/system/mysqld.service
添加配置
[Unit]
Description=MySQL Server
After=network.target
After=syslog.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
ExecStop=/usr/local/mysql/bin/mysqladmin --defaults-file=/etc/my.cnf shutdown
LimitNOFILE = 5000
[Install]
WantedBy=multi-user.target
配置生效
systemctl daemon-reload
启动服务
systemctl start mysqld
systemctl status mysqld
第七步:登录mysql并修改初始密码
mysql -uroot -p'5vl5AgKxR:+w'
alter user user() identified by 'Mysql123.';
验证
退出mysql终端之后使用新密码重新登录
2317





