当前位置: 首页 > article >正文

二进制/源码编译安装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 systemd[1]: Starting LSB: start and stop MySQL...
Jan 15 23:49:41 openEuler-1 mysqld[2450]: Starting MySQL.
Jan 15 23:49:41 openEuler-1 mysqld[2463]: Logging to '/usr/local/mysql/data/mys>
Jan 15 23:49:43 openEuler-1 mysqld[2450]: . SUCCESS!
Jan 15 23:49:43 openEuler-1 systemd[1]: 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
启动服务
 


http://www.kler.cn/a/507244.html

相关文章:

  • 【算法学习笔记】30:埃氏筛(Sieve of Eratosthenes)和线性筛(Linear Sieve)
  • Java中的依赖注入是什么?它如何工作?
  • .NET 9.0 的 Blazor Web App 项目中 Hash 变换(MD5、Pbkdf2) 使用备忘
  • JVM远程调试原理剖析
  • 如何使用策略模式并让spring管理
  • 【leetcode 13】哈希表 242.有效的字母异位词
  • Visual Studio Community 2022(VS2022)安装方法
  • 【Pico串流预览】使用“PICO Unity Live Preview Plugin”和PDC工具进行实时预览
  • JAVA实现五子棋小游戏(附源码)
  • SQL Prompt 插件
  • K8S中的Pod调度之定向调度
  • Python时间序列分析:使用TSFresh进行自动化特征提取
  • docker安装Nginx UI
  • nginx 配置代理,根据 不同的请求头进行转发至不同的代理
  • 使用 Wireshark 分析 TCP 吞吐瓶颈
  • 用java实现一个猜拳小游戏
  • electron 获取本机 ip 地址
  • 测试人员面试需要掌握的内容
  • 谷歌浏览器与Safari的性能对比
  • Go基础之环境搭建
  • 无人机吊运详解,极大提高运输效率降低人工成本
  • HTTP 安全:HTTPS 原理与配置
  • 测试工程师的linux 命令学习(持续更新中)
  • WPF如何跨线程更新界面
  • EasyExcel的应用
  • springcloud中的Feign调用