linux下源码编译安装mysql

第一步:下载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终端之后使用新密码重新登录

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值