首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux源码安装mysql

基础概念

Linux源码安装MySQL是指从MySQL的源代码编译并安装MySQL数据库的过程。这种方式允许用户根据自己的需求定制MySQL的功能和配置,适用于对性能、安全性和特定功能有特殊要求的场景。

优势

  1. 定制化:可以根据具体需求定制MySQL的功能和配置。
  2. 灵活性:可以自由选择编译选项,优化性能。
  3. 学习机会:通过源码编译,可以深入了解MySQL的内部工作原理。

类型

  1. 通用安装:适用于大多数场景,提供完整的MySQL功能。
  2. 定制安装:根据特定需求,选择性地启用或禁用某些功能。

应用场景

  1. 高性能服务器:通过优化编译选项,提升MySQL的性能。
  2. 安全敏感环境:通过定制安装,增强MySQL的安全性。
  3. 研究和学习:通过源码编译,深入理解MySQL的内部机制。

安装步骤

以下是Linux源码安装MySQL的基本步骤:

1. 准备工作

代码语言:txt
复制
# 更新系统包
sudo apt-get update
sudo apt-get upgrade

# 安装必要的依赖包
sudo apt-get install build-essential cmake libncurses5-dev libssl-dev

2. 下载MySQL源码

代码语言:txt
复制
# 下载MySQL源码包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26.tar.gz

# 解压源码包
tar -zxvf mysql-8.0.26.tar.gz
cd mysql-8.0.26

3. 编译和安装

代码语言:txt
复制
# 创建编译目录
mkdir build
cd build

# 配置编译选项
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
         -DWITH_SSL=yes \
         -DWITH_EMBEDDED_SERVER=no \
         -DWITH_UNIT_TESTS=off

# 编译源码
make -j $(nproc)

# 安装MySQL
sudo make install

4. 初始化MySQL

代码语言:txt
复制
# 创建MySQL用户和组
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

# 初始化MySQL数据目录
sudo mkdir /usr/local/mysql/data
sudo chown -R mysql:mysql /usr/local/mysql
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql

# 启动MySQL服务
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &

5. 配置MySQL

代码语言:txt
复制
# 创建MySQL配置文件
sudo tee /etc/my.cnf <<EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3306
user=mysql
EOF

# 启动MySQL服务
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &

常见问题及解决方法

1. 编译错误

问题:编译过程中出现错误。

原因:可能是依赖包未安装完整或版本不兼容。

解决方法

代码语言:txt
复制
# 确保所有依赖包已安装
sudo apt-get install build-essential cmake libncurses5-dev libssl-dev

# 清理之前的编译文件并重新编译
make clean
make -j $(nproc)

2. 初始化失败

问题:初始化MySQL数据目录时失败。

原因:可能是权限问题或数据目录已存在。

解决方法

代码语言:txt
复制
# 确保数据目录不存在
sudo rm -rf /usr/local/mysql/data

# 重新初始化数据目录
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql

3. 启动失败

问题:启动MySQL服务时失败。

原因:可能是配置文件错误或端口被占用。

解决方法

代码语言:txt
复制
# 检查配置文件
sudo grep -v '^#' /etc/my.cnf | grep -v '^$'

# 检查端口是否被占用
sudo netstat -tuln | grep 3306

# 修改配置文件或释放端口后重新启动
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &

参考链接

通过以上步骤,你可以成功地在Linux系统上源码安装MySQL,并解决常见的安装问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • CentOS7(Linux源码安装MySQL5.7.30

    简介 软件应用最重要的就是数据库了,可是还有小伙伴不会在Linux安装MySQL数据库,今天就来讲讲如何在CentOS7环境使用源码进行安装MySQL5.7.30。...下载 下面使用mysql-boost5.7.30.tar.gz进行安装,选择源码Source Code,选择带Boost的版本,点击Download开始下载。...注:Mysql5.7版本更新后有很多变化,连编译安装都有变化,而MySQL5.7的安装必须要boost库,不过MySQL的官网源码有带boost库的源码和不带boost库的源码两种,因此有两种安装方式,...其实都是一样的,如果选择不带boost库源码的需要在安装MySQL之前单独安装boost,并在编译时指定boost的安装目录,选择带boost的版本,则不需要提前安装boost,只需要在cmake编译时带上参数...perl perl-devel 安装 1.创建一个资源目录把 MySQL 安装包 上传到这个目录下 mkdir /usr/local/resource 2.解压安装包 tar -zxvf mysql-boost5.7.30

    66950

    LinuxMySQL源码安装完整版

    Linux安装MySQL,通常为RPM与源码方式安装。对于生产环境而言,由于需要自定义诸如安装路径、数据文件位置、字符集以及支持的存储引擎等多以源码方式来进行安装。...之前有写过一篇关于源码安装的文章,Linux下基于源码方式安装MySQL 5.6,但不是很完整,因此该文可以作为其补充。以下为具体安装步骤,供大家参考。...1、安装前的有关描述 必备的包和工具   gcc/g++ :MySQL 5.6开始,需要使用g++进行编译。   ...SZ-RD03 2.6.18-348.el5 #1 SMP Tue Jan 8 17:53:53 EST 2013 x86_64 x86_64 x86_64 GNU/Linux   MySQL版本...,InnoDB等   字符集为:UTF8 2、源码安装MySQL安装需要用到的库:   yum -y install gcc gcc-c++   yum -y install ncurses-devel

    1.7K20

    rpm linux安装(linux安装mysql)

    安装软件基本的用法是 rpm-ivh xx.rpm。 卸载软件的话,先rpm -qa |grep xx(待卸载的软件的关键字,如mysql)。然后rpm -e xx。...可以忽略所有依赖关系和文件问题,什么包 都能安装上,但这种强制安装的软件包不能保证完全发挥功能,这就需要配置yum 2017-12-01 回答 相关问答 1、自己网上找rpm软件的源码,编译安装。...2、你本来只是想安装其他软件,既然能找到rpm包,为何不找你想安装的软件的源码包编译安装?...安装软件基本的用法是 rpm-ivh xx.rpm。 卸载软件的话,先rpm -qa |grep xx(待卸载的软件的关键字,如mysql)。然后rpm -e xx。...卸载软件的话,先rpm -qa |grep xx(待卸载的软件的关键字,如mysql)。然后rpm -e xx。 RPM是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。

    31.4K40

    linux安装mysql

    Linux服务器yum安装(CentOS664位) 所有在服务器上执行的命令,都在 # 后面 1、命令安装mysql # yum install mysql mysql-server mysql-devel...表示安装成功 2、查看是否生成了mysqld服务, 并设置随机启动 # chkconfig --list |grep mysql ?...--socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql.../lib/mysql/mysql.sock 根据进程信息可以看到,mysql的数据库data目录是 /var/lib/mysql ,错误日志文件是  /var/log/mysqld.log 查看都有哪些库...,后续可以在命令行中直接管理数据库 直接执行,yum安装mysql,本地root密码默认为空 # mysql 进入mysql的命令行模式, 代表mysql连接成功,可以看到默认安装mysql的版本是

    2.5K40

    Linux安装MySQL

    目录 1.检测当前系统是否安装MySQL相关数据库 2....卸载现有的MySQL数据库 3.上传解压 4.顺序安装rpm包 5.启动MySQL 6.查看临时密码 7.登录MySQL 8.开放端口 1.检测当前系统是否安装MySQL相关数据库 需要通过rpm相关指令...,来查询当前系统中是否存在已安装mysql软件包,执行指令如下: rpm -qa 查询当前系统中安装的所有软件 rpm -qa | grep mysql 查询当前系统中安装的名称带mysql...3.上传解压 在课程资料中,提供的有MySQL安装包 ,我们需要将该安装包上传到Linux系统的根目录 / 下 面。...rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm 5.启动MySQL MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld

    1.6K41

    Linux安装mysql

    安装Cmder: 先使用windows操作系统安装好Cmder,因为是国外的网站所以需要×××后才能够下载得到这软件,Cmder是一个能够远程登录Linux操作系统的远程终端模拟器,在windows上使用...安装好后的Cmder: 连接Linux: Cmder已经安装完毕了,要怎样连接Linux呢?首先,使用虚拟机启动并登录Linux操作系统,然后获取到系统的IP地址。...mysql,和如何在Linux上登录mysql,还有如何对外开放端口让外面的计算机远程连接mysql。...服务器: 现在就可以登录进mysql服务器了: 现在mysql服务器是跳过密码状态,至于修改密码等后面再说,因为mysql安装的时候有个初始密码,不能直接使用sql语句修改,所以我们先将mysql...,地址是Linux的IP地址,因为使用的是跳过密码,所以只需要输入账户即可: 除了以上跳过密码的方式,还可以查看mysql的日志,日志里记录着mysql安装时的默认密码。

    2.2K10
    领券