Linux安装MySQL(源码安装)

article/2025/10/19 23:09:46

文章目录

  • 一、下载
  • 二、最小化安装配置
  • 三、MySQL的安装的几种方式
    • 1.MySQL安装方式
    • 2. 三种安装方式的区别
  • 四、MySQL的GLIBC版本安装
    • 1. 上传软件包解压
    • 2. 软件安装
    • 3. MySQL GLIBC版本后续配置
  • 五、MySQL的源码编译安装
    • 1. 安装需求
    • 2. MySQL的源码编译安装
    • 3. 编译报错常见问题解析
    • 4. MySQL数据库的初始化
    • 5. MySQL源码编译安装后的后续配置
  • 六、MySQL常见问题解决方案
    • 忘记MySQL密码解决方案


一、下载

进入 MySQL官网
在这里插入图片描述
找到社区版
在这里插入图片描述
:单击进入MySQL社区版下载页面
在这里插入图片描述
在这里插入图片描述
选择合适的版本

在这里插入图片描述

二、最小化安装配置

  1. 设置主机名称
[root@localhost ~]# hostnamectl set-hostname MySQL
[root@localhost ~]# su
  1. 更改IP获取方式为静态设置以及绑定主机名+IP到/etc/hosts
# vi /etc/sysconfig/network-scripts/ifcfg-ens33TYPE="Ethernet"
BOOTPROTO="static"
IPADDR=192.168.44.100
NETMASK=255.255.255.0
GATEWAY=192.168.44.2
DNS1=8.8.8.8
DNS2=144.144.144.144
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"# vi /etc/hosts
192.168.44.100 MySQL# systemctl restart network
如果是多网卡形式,建议使用ifdown与ifup
# ifdown ens33
# ifup ens33# ip a
  1. 关闭防火墙和SELinux
# systemctl stop firewalld
# systemctl disable firewalld# setenforce 0
# vim /etc/selinux/config
SELINUX=disabled
  1. 配置国内公网yum源
    在这里插入图片描述
    找到centos
安装wget命令
# yum install wget -y
备份官方yum源
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 获取腾讯源
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
清空yum缓存,重新建立
# yum clean all
# yum makecache
  1. 安装扩展软件(bash-completion自动补全、vim编辑器、net-tools网络工具包以及ntpdate时间同步工具)
 yum install bash-completion vim net-tools ntpdate -y
  1. 时间同步
    时间同步网站

在这里插入图片描述

# ntpdate 111.230.50.201

三、MySQL的安装的几种方式

1.MySQL安装方式

二进制软件包安装

① yum安装或rpm安装(这篇博客有写)

② glibc版本安装(相当于Windows中的绿色软件)

命名:mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

依赖[^glibc]库,可以安装在通用的Linux系统下

源码包编译安装

命名:mysql-5.7.31.tar.gz,通用的Linux下都可以编译安装。

2. 三种安装方式的区别

安装方式优点缺点
rpm安装卸载简单可定制性差
glibs可定制性相比rpm包灵活些安装相比rpm包复杂些,需要手动初始化数据库
源码安装可定制性最强,根据需求和功能定制安装麻烦,需要手动初始化数据库

四、MySQL的GLIBC版本安装

安装依赖库libaio库

yum install libaio -y

1. 上传软件包解压

[root@mysql ~]# tar -xf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
[root@mysql ~]# ls mysql-5.7.39-linux-glibc2.12-x86_64
bin  docs  include  lib  LICENSE  man  README  share  support-files

安装需求

选项值(自定义也可以采用默认形式)
安装路径/mysql_3306
数据路径/mysql_3306/data
端口号3306

2. 软件安装

官方文档

在这里插入图片描述

第一步:创建一个数据库专用账号mysql(其所属组也为mysql)

# useradd -r -s /sbin/nologin mysql
# id mysql

第二步:清空系统中的原有mariadb的配置文件(/etc/my.cnf)

# rm -rf /etc/my.cnf

第三步:把mysql解压后的压缩包(GBLIC版本)移动到/根目录下,然后更名为mysql_3306

# mv mysql-5.7.31-linux-glibc2.12-x86_64 /mysql_3306

第四步:切换到mysql工作目录/mysql_3306,创建一个mysql-files

# cd /mysql_3306
# mkdir mysql-files

第五步:更改mysql-files权限(设置文件拥有者和所属组)

# chown mysql:mysql mysql-files
# chmod 750 mysql-files

第六步:初始化数据库(可以实现数据库的初始化,而且会产生一个随机密码

# bin/mysqld --initialize --user=mysql --basedir=/mysql_3306
选项说明:
--initialize 	 初始化(真正开始干活)
--user=mysql 	 以mysql用户的身份初始化数据库,产生文件都是mysql作为拥有者
--basedir=xxx    mysql其安装目录,非常重要运行完毕后,观察最后一行,保存root账号的密码,以备后期使用。
2022-08-27T02:25:02.991975Z 1 [Note] A temporary password is generated for root@localhost: F+Ife6N%*kao

想查看mysql软件有没有初始化成功,主要看mysql目录下有没有产生data文件夹且文件夹中至少要有一个mysql的文件夹

第七步:设置安全加密连接(SSL),数据传输会采用加密形式,适合敏感数据

# bin/mysql_ssl_rsa_setup --datadir=/mysql_3306/data

第八步:启动MySQL数据库

# cp support-files/mysql.server /etc/init.d/mysql_3306

注意:默认情况下,GBLIC版本的数据库要求安装到/usr/local/mysql目录,其mysql.server脚本中对应的目录也是/usr/local/mysql,这会导致mysql无法启动。所以可以更改其basedir以及datadir两个变量

# vim /etc/init.d/mysql_3306
46行 basedir=/mysql_3306
47行 datadir=/mysql_3306/data

第九步:启动MySQL数据库(不能使用systemctl,只能使用service)

[root@mysql mysql_3306]# service mysql_3306 start
Starting MySQL.Logging to '/mysql_3306/data/mysql.err'.SUCCESS!

特别说明:当MySQL启动成功后,其日志会自动写入到data数据目录中的主机名称.err文件中,这个文件一定要多看,涉及MySQL无法启动、启动报错,其详细的原因99%在.err文件中可以找到问题所在

第十步:让mysql自动启动

# chkconfig --list				查询系统中的所有开机启动项
# chkconfig --add mysql_3306    必须与/etc/init.d目录下的脚本名称一致
# chkconfig mysql_3306 on		把2345四种模式全部开启(3字符界面,5图形界面)

第十一步:把mysql客户端命令添加到环境变量,以后随时可以访问

# echo 'export PATH=$PATH:/mysql_3306/bin' >> /etc/profile
# source /etc/profile
设置完成后,我们可以在任意位置调用mysql客户端命令# mysql -uroot -p
输入密码

3. MySQL GLIBC版本后续配置

第一步:更改管理员root账号的密码

[root@node1 mysql_3306]# bin/mysqladmin -uroot password 'root' -p
Enter password:输入刚刚初始化产生的临时密码

登录后mysql修改密码

mysql> set password='root';

第二步:手工定义MySQL的配置文件(非常重要)

# vim /mysql_3306/my.cnf
[mysqld]
basedir=/mysql_3306
datadir=/mysql_3306/data
socket=/tmp/mysql.sock
选项说明:
[mysqld]	代表针对服务器端进行配置
basedir		代表数据库的安装目录
datadir		代表数据目录,以后专门用于存放数据文件的(核心目录)
socket		代表套接字文件,专门为客户端与服务器端连接提供一个桥梁

重启MySQL

# service mysql_3306 restart

第三步:安全配置(对于生产环境比较重要)

除了第一个是否重新设置root密码直接回车,其它一路Y,搞定!

# mysql_secure_installation

常见问题:如何关闭MySQL密码强度检测?

# vim /mysql_3306/my.cnf
[mysqld]
...
validate_password=OFF# service mysql_3306 restart

五、MySQL的源码编译安装

官方文档

源码安装三步曲:配置——>编译——>安装

1. 安装需求

安装需求具体配置
安装目录(baedir)/mysql_3307
数据目录(datadir)/mysql_3307/data
端口号3307
socket文件位置$basedir/mysql.sock
字符集utf8mb4

常用配置选项

配置选项描述默认值建议值
CMAKE_INSTALL_PREFIX安装基目录(basedir)/usr/local/mysql根据需求
MYSQL_DATADIR数据目录(datadir)$basedir/data根据需求
SYSCONFDIR默认配置文件my.cnf路径/etc
MYSQL_TCP_PORTTCP/IP端口3306非默认端口
MYSQL_UNIX_ADDR套接字socket文件路径/tmp/mysql.sock$basedir/
DEFAULT_CHARSET默认字符集latin1utf8mb4
DEFAULT_COLLATION默认校验规则latin1_swedish_ciutf8mb4_general_ci
WITH_EXTRA_CHARSETS扩展字符集allall
ENABLED_LOCAL_INFILE是否启用本地加载外部数据文件功能OFF建议开启
WITH_SSLSSL支持类型system建议显式指定
WITH_BOOSTBoost库源代码的位置Boost库是构建MySQL所必需的,建议事先下载

存储引擎相关配置项
说明:

以下选项值均为布尔值,0或1;0代表不编译到服务器中,1代表编译,建议都静态编译到服务器中。

其他的存储引擎可以根据实际需求在安装时通过WITH_xxxx_STORAGE_ENGINE=1的方式编译到服务器中。

配置选项描述
WITH_INNOBASE_STORAGE_ENGINE将InnoDB存储引擎插件构建为静态模块编译到服务器中;建议编译到服务器中
WITH_PARTITION_STORAGE_ENGINE是否支持分区
WITH_FEDERATED_STORAGE_ENGINE本地数据库是否可以访问远程mysql数据
WITH_BLACKHOLE_STORAGE_ENGINE黑洞存储引擎,接收数据,但不存储,直接丢弃
WITH_MYISAM_STORAGE_ENGINE将MYISAM存储引擎静态编译到服务器中

2. MySQL的源码编译安装

第一步:安装MySQL编译需要用到的依赖库

# yum -y install ncurses-devel cmake libaio-devel openssl-devel

第二步:上传软件到服务器端并解压

# tar -xf mysql-boost-5.7.31.tar.gz
# cd mysql-5.7.31

第三步:配置(基于cmake进行配置)

# vim myconfig.sh
cmake . \
-DCMAKE_INSTALL_PREFIX=/mysql_3307 \
-DMYSQL_DATADIR=/mysql_3307/data \
-DMYSQL_TCP_PORT=3307 \
-DMYSQL_UNIX_ADDR=/mysql_3307/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_SSL=system \
-DWITH_BOOST=boost选项说明:
-DCMAKE_INSTALL_PREFIX :安装路径
-DMYSQL_DATADIR :数据目录
-DMYSQL_TCP_PORT :端口号
-DMYSQL_UNIX_ADDR :套接字文件位置

执行配置文件

# chmod +x myconfig.sh
# ./myconfig.sh

第四步:编译安装

# make -j2 && make install
选项说明:
-j2 :代表同时开启多个线程共同实现编译操作

3. 编译报错常见问题解析

问题1:没有boost导致安装失败

在这里插入图片描述
解决方案:只能重新编译一下

# rm -f CMakeCache.txt
# make -j2 && make install

4. MySQL数据库的初始化

注意:**进入到安装目录里/mysql_3307

# cd /mysql_3307

第一步:创建mysql-files目录

创建系统变量`secure_file_priv`限制导入导出目录并修改权限
# mkdir mysql-files
# chown -R mysql:mysql /mysql_3307
# chmod 750 mysql-files

第二步:数据库初始化操作

# bin/mysqld --initialize --user=mysql --basedir=/mysql_3307 --datadir=/mysql_3307/data这个是密码
2022-08-27T08:14:01.663647Z 1 [Note] A temporary password is generated for root@localhost: kHo5hDNdj0+z

第三步:拷贝mysql.server脚本到/etc/init.d目录,然后启动数据库

# cp support-files/mysql.server /etc/init.d/mysql_3307
# service mysql_3307 start

启动异常的解决方案:
查看mysql.itcast.cn.err这个错误日志

5. MySQL源码编译安装后的后续配置

第一步:编写MySQL配置文件,my.cnf

# vim /mysql_3307/my.cnf
[mysqld]
basedir=/mysql_3307
datadir=/mysql_3307/data
socket=/mysql_3307/mysql.sock重启数据库
# service mysql_3307 restart

第二步:设置管理员的密码
密码设置为root

# bin/mysqladmin -uroot password 'root' -p
Enter password:这里输入初始化数据库的时候的自动生成的密码

第三步:安全设置

# bin/mysql_secure_installation输入数据库设置的密码
第一直接回车
其它全选y

第四步:添加mysql_3307到开机启动项

# chkconfig --add mysql_3307
# chkconfig mysql_3307 on

六、MySQL常见问题解决方案

方法1:直接使用==对应的客户==端软件访问

访问5.7.31版本数据库:
[root@node1 ~]# /mysql_3306/bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.31 MySQL Community Server (GPL)访问5.7.31版本数据库:
[root@node1 ~]# /mysql_3307/bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.31 Source distribution

方法二:**定义别名**的方式访问

[root@mysql mysql_3307]# alias mysql_3306="/mysql_3306/bin/mysql"
[root@mysql mysql_3307]# alias mysql_3307="/mysql_3307/bin/mysql"[root@mysql mysql_3307]# mysql_3306 -uroot -p[root@mysql mysql_3307]# mysql_3307 -uroot -p

忘记MySQL密码解决方案

1.关闭数据库

[root@node1 ~]# mysqladmin shutdown -p
Enter password:输入密码

2.跳过授权表启动
这里以上面安装的 mysql_3306为例子

# /mysql_3306/bin/mysqld --defaults-file=/mysql_3306/my.cnf --skip-grant-tables --skip-networking=on  --user=mysql &
  1. 刷新授权表
# mysql -uroot -p
Enter password:什么都不要输入,直接回车即可
mysql> flush privileges;

4.修改密码

mysql> alter user 'root'@'localhost' identified by '123';


http://chatgpt.dhexx.cn/article/CgdcVwEA.shtml

相关文章

Linux安装mysql客户端

刚进入家新公司,要求在linux上安装mysql客户端,用于访问其他服务器上的mysql服务,因此研究了下linux下安装软件。linux下安装软件可以有多种方式,比较简单的是使用yum命令进行安装,此命令可以安装目标软件所需要的其他…

Linux安装mysql数据库

Wnidows系统的Mysql数据库相信大家都会安装,也很简单,但是在linux系统下就比较麻烦了, 今天就给大家讲解下如何在linux系统下安装Mysql数据库。 安装之前首先要找出系统自带的和Mysql数据库类似的一个软件叫mariadb,要先卸载掉&a…

linux安装MySQL(附安装包)很详细

1.下载压缩包 可以自己搜索资源下载或者点击这里下载我提供的压缩包(推荐),提取码:7obn。(链接失效时时请留言,我会更新下载链接)。 当然也可以直接执行命令下载:wget https://cdn.…

Linux安装MySQL(使用yum)

这是参照msyql官方文档写的(网上的教程五花八门,各有各的特色和技巧,不过还是以官方文档为主要参考最靠谱) 注意 : 适用于第一次安装的情况,系统上已经有之前安装过的版本的话,官方文档同一章也有升级、替换…

Linux下安装mysql

Linux下安装mysql 1、打开mysql官网下载地址。 MySQL :: Download MySQL Community Server 2、将其传输到Linx中 3、解压,这里Centos 7自带有mari数据库,与mysql冲突,要先把mari删除 4、安装mysql 5、mysql默认给一个密码,可…

Linux安装Mysql(图文解说详细版)

安装前必看 这篇文章是用yum安装的,如果是官网安装包tar包安装请移步 Linux安装Mysql(图文解说详细版,安装包tar包版) 文章目录 安装前必看最近开个新坑,就是在linux环境中操作开发环境,带大家玩转Linux&am…

Linux——安装mysql数据库

目录 1、准备阶段 2、具体步骤 2.1、卸载mariadb 2.2、上传mysql并解压 2.3、安装mysql 2.4、查看版本 2.5、启动mysql服务 2.6、登录mysql 2.7、修改密码 2.8、配置mysql远程访问 2.9、修改编码 3、卸载mysql 3.1、查看mysql的安装情况 3.2、删除安装包 3.3、…

Linux多种方法安装mysql

文章目录 一、前言二、安装方法一:源码安装/编译安装三、安装方法二(通用二进制包):mysql-x.x.xx-linux-glibcx.x-xxx.tar.gz1.Redhat5.5 32/RedHat6.6和6.5 64位/Centos7.2 64位位下安装mysql 5.6.35:2.Centos7.2安装…

Linux-安装MySQL(详细教程)

Linux-安装MySQL 前言一、概述二、下载三、安装四、卸载五、常用设置六、可能遇到的问题 前言 本文的主要内容是在 Linux 上安装 MySQL,以下内容是源于 B站 - MySQL数据库入门到精通 整理而来。 一、概述 MySQL是一种关系型数据库管理系统,所使用的 SQ…

Linux下安装MySql详细教程

前言 本文对linux环境下安装Mysql过程进行一个详细记录 一、安装包和环境准备 1.所需安装包 将mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz安装包上传至服务器 2.解压和创建用户 执行命令 tar -xvf mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz,重命名文件夹…

Linux安装MySql教程(图文详解,一步搞定)

第一步:查询msql版本 输入命令:sudo apt search mysql-server 第二步:安装mysql 输入命令:sudo apt install mysql-server -y 第三步:查看使用进程服务 输入命令:sudo service --status-all 图中红…

Linux下安装 MySQL 5.7详细步骤

该篇是本人安装MySQL5.7的全部步骤,以此记录 1、查看linux系统是否安装mysql ,如果未安装执行下面命令应该为空的。 rpm -qa|grep -i mysql使用下面命令删除安装过的包 rmp -e 文件名 2、mysql官网-》downloads-》community-》yum repository-》下载最新…

Linux安装MySQL(超详细)

1 查看是否已经安装 Mysql rpm -qa | grep mysql 我之前装过一次! 如果你查看出来有东西,可以使用下面命令将其删除 rpm -e 文件名 2 下载官方 Mysql 包 wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 如果安装有提示&#xff…

Linux 安装Mysql 详细教程(图文教程)

首先通过 xshell 或者 putty 远程进入Linux 命令行操作界面。 Xshell 的安装 1.去 XShell - Download 下载需要的版本。 XShell免费版(解决官网打不开的问题) 百度网盘:https://pan.baidu.com/s/1-pgv4cChPPdqU_JFI5H33Q 密码6dj5 【1】查看是否已经安装 Mysql…

linux 安装mysql8.0 超详细图文教程

1.使用系统的root账户 2.切换到 /use/local 目录下 3.下载mysql wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz 也可以直接在官方下载最新版本 官方下载 选择linux 4.解压mysql tar xvJf mysql-8.0.21-linux-glibc2.1…

史上最详细的MySQL数据库安装教程(图文详解)

数据库软件里面用的比较多的就MySQL了,对于企业还是个人开发者,或者是学生,都是很好的选择,下面为大家带来 MySQL的安装教程,让大家快速学会安装配置 MySQL,掌握MySQL基本知识,并轻松使用 MySQL…

MySQL数据库介绍及安装

一、MySQL数据库介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System…

mysql数据库安装步骤和环境配置

一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下: 在这里插入图片描述 1、解压后就需要配置环境变量 (win 10) 选择“我的电脑”,单击右键,选择“属性->高级->环境变量中的…

mysql数据库的安装教程

Mysql安装 windows环境下:mysql安装教程 个人推荐下载5.1.47左右的版本。不建议下载太高的版本 一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下: 然后点击downloads,community&a…

2022年最新最详细的MYSQL数据库安装(详细图解过程、毕成功)

新电脑安装mysql、按照以下教程成功安装。踩了两个坑、特此记录 1、下载mysql5.7版本 链接:mysql5.7网盘地址 提取码:v7pe 2、详细安装教程 直接根据下方链接教程就可 mysql数据库安装(详细) 3、踩坑 3.1 创建的my.ini文件 确…