二进制/源码编译安装mysql 8.0

二进制方式:

1.下载或上传安装包至设备:

2.创建组与用户:

root@openEuler-1 \~# groupadd mysql

root@openEuler-1 \~# useradd -r -g mysql -s /bin/false mysql

3.解压安装包:

tar xf mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz -C /usr/local

4.建立软链接:

ln -sv /usr/local/mysql-8.0.36-linux-glibc2.12-x86_64/ /usr/local/mysql

5.初始化:

root@openEuler-1 \~# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data

2025-01-15T15:01:42.254967Z 0 System MY-013169 Server /usr/local/mysql/bin/mysqld (mysqld 8.0.36) initializing of server in progress as process 1935

2025-01-15T15:01:42.260421Z 1 System MY-013576 InnoDB InnoDB initialization has started.

2025-01-15T15:01:42.971402Z 1 System MY-013577 InnoDB InnoDB initialization has ended.

2025-01-15T15:01:44.318709Z 6 Note MY-010454 Server A temporary password is generated for root@localhost: >HYAHNuRd4+f (初始密码)

6.编辑配置文件:

root@openEuler-1 \~# vim /etc/my.cnf

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/

socket=/tmp/mysql.sock

log-error=/usr/local/mysql/data/mysqld.log

pid-file=/usr/local/mysql/data/mysqld.pid

7.给予软件目录权限:

root@openEuler-1 \~# chown -R mysql.mysql /usr/local/mysql/*

8.拷贝服务脚本:

root@openEuler-1 \~# cd /usr/local/mysql/

root@openEuler-1 mysql# ls

bin data docs include lib LICENSE man README share support-files

root@openEuler-1 mysql# cd support-files/

root@openEuler-1 support-files# ls

mysqld_multi.server mysql-log-rotate mysql.server

root@openEuler-1 support-files# cp mysql.server /etc/init.d/mysqld

9.将服务脚本添加为系统服务:

root@openEuler-1 support-files# chkconfig --add mysqld

root@openEuler-1 support-files# ll /etc/rc.d/rc3.d/

total 0

lrwxrwxrwx 1 root root 16 Jan 15 23:30 S64mysqld -> ../init.d/mysqld

10.将服务脚本设置为开机自启动:

root@openEuler-1 support-files# chkconfig mysqld on

root@openEuler-1 support-files# chkconfig --list mysqld

Note: This output shows SysV services only and does not include native

systemd services. SysV configuration data might be overridden by native

systemd configuration.

If you want to list systemd services use 'systemctl list-unit-files'.

To see services enabled on particular target use

'systemctl list-dependencies target'.

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

11.启动服务:

root@openEuler-1 \~# systemctl start mysql

root@openEuler-1 \~# systemctl status mysql

● mysqld.service - LSB: start and stop MySQL

Loaded: loaded (/etc/rc.d/init.d/mysqld; generated)

Active: active (running) since Wed 2025-01-15 23:49:43 CST; 32s ago

Docs: man:systemd-sysv-generator(8)

Process: 2450 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=>

Tasks: 39 (limit: 8932)

Memory: 462.6M

CGroup: /system.slice/mysqld.service

├─ 2463 /bin/sh /usr/local/mysql//bin/mysqld_safe --datadir=/usr/l>

└─ 2621 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql/ -->

Jan 15 23:49:41 openEuler-1 systemd1: Starting LSB: start and stop MySQL...

Jan 15 23:49:41 openEuler-1 mysqld2450: Starting MySQL.

Jan 15 23:49:41 openEuler-1 mysqld2463: Logging to '/usr/local/mysql/data/mys>

Jan 15 23:49:43 openEuler-1 mysqld2450: . SUCCESS!

Jan 15 23:49:43 openEuler-1 systemd1: Started LSB: start and stop MySQL.

12.安装依赖:

root@openEuler-1 \~# yum install ncurses-compat-libs

13.使用绝对路径登录,并修改密码:

root@openEuler-1 \~# /usr/local/mysql/bin/mysql -uroot -p
Enter password: (>HYAHNuRd4+f)

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 8

Server version: 8.0.36

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases

-> ;

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

mysql> ALTER USER root@localhost identified by '123';

Query OK, 0 rows affected (0.01 sec)

mysql>

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

4 rows in set (0.00 sec)

14.配置环境变量:

root@openEuler-1 \~# vim /etc/profile.d/mysql.sh

#!/bin/bash

export PATH=$PATH:/usr/local/mysql/bin/

root@openEuler-1 \~# source /etc/profile.d/mysql.sh #使立即生效,加载到 当前

验证:

root@openEuler-1 \~# mysql -uroot -p123

mysql: Warning Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 9

Server version: 8.0.36 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

源码编译方式:

服务配置方法2:

注意:两种不要同时配置

服务配置

vi /usr/lib/systemd/system/mysqld.service

##加入以下内容即可

Unit

Description=Mysql server

After=network.target

Install

WantedBy=multi-user.target

Service

User=mysql

Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --daemonize $OPTIONS

ExecReload=/bin/kill -HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

KillMode=process

LimitNOFILE=65535

Restart=on-failure

RestartSec=10

RestartPreventExitStatus=1

PrivateTmp=false

加载设置

systemctl daemon-reload

启动服务

相关推荐
鲸采云SRM采购管理系统6 分钟前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
cfm_29149 分钟前
基于Binlog实现不停机数据库平滑迁移技术
运维·数据库·架构
Full Stack Developme9 分钟前
SQL 注入 的历史及设计工作原理
数据库·sql
Tisfy12 分钟前
Codex:通过编辑配置文件添加带Bearer的自定义MCP
数据库·大模型·agent·codex·mcp
哈__43 分钟前
面向AI智能体的数据库专业技能包:将DBA工程经验封装为可调用能力
数据库·人工智能·dba
阿坤带你走近大数据1 小时前
SQL里where后面的1=1是干嘛的,走的是什么索引
数据库·sql
阿坤带你走近大数据1 小时前
SQL的执行顺序和书写顺序的介绍
数据库·sql·oracle
Poo_Chai1 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
这个DBA有点耶2 小时前
从DBA到数据架构师(五):数据架构演进中的技术债务管理
数据库·程序人生·云原生·架构·dba·数据库管理员
Bruce_Liuxiaowei3 小时前
基于微步在线威胁情报的公网 IP 攻击迹象监测:threatbook_query 脚本全解析与 BruceSec 平台整合实践
数据库·tcp/ip·安全·网络安全·智能体