Linux系统下自行编译安装MySQL及基础配置全过程解析

yizhihongxing

Linux系统下自行编译安装MySQL及基础配置全过程解析

1. 安装依赖

在安装MySQL之前,需要确保系统上已经安装好以下依赖库:

sudo apt install cmake g++ libncurses-dev bison

2. 下载MySQL源代码

打开MySQL官网,下载最新版本的MySQL源代码。下载完成后,解压缩到指定目录:

tar zxvf mysql-8.0.23.tar.gz
cd mysql-8.0.23

3. 编译MySQL源代码

执行以下命令进行编译:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
      -DMYSQL_DATADIR=/usr/local/mysql/data \
      -DWITH_BOOST=/usr/local/boost
make
make install

其中,-DCMAKE_INSTALL_PREFIX指定MySQL安装目录,-DMYSQL_DATADIR指定MySQL数据目录,-DWITH_BOOST指定Boost库的位置。

4. 创建MySQL用户

为了提高系统安全性,我们需要创建一个MySQL专用用户。执行以下命令创建该用户:

sudo useradd -r -s /bin/false mysql

5. 配置MySQL

执行以下命令进入MySQL安装目录并进行配置:

cd /usr/local/mysql
sudo chown -R mysql:mysql .
sudo su mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

其中,--initialize表示初始化MySQL,--user指定MySQL启动时的用户,--basedir指定MySQL所在目录,--datadir指定MySQL数据目录。

6. 启动MySQL

执行以下命令启动MySQL:

bin/mysqld_safe --user=mysql &

7. 设置MySQL密码

执行以下命令进入MySQL控制台:

bin/mysql -uroot -p

输入初始密码(可以在日志文件中找到),进入MySQL控制台后,执行以下命令修改MySQL root用户的密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

示例1:创建MySQL数据库

执行以下命令创建一个名为test的数据库:

CREATE DATABASE test;

示例2:创建MySQL用户并授权

执行以下命令创建一个名为testuser,密码为password的MySQL用户,并授权其对test数据库的所有权限:

CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON test.* TO 'testuser'@'localhost';

结束语

通过以上步骤,您已经完成了MySQL的编译安装以及基础配置。需要注意的是,配置MySQL可能因不同的版本而有所不同,具体可参考MySQL官方文档或根据自身需求进行调整。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux系统下自行编译安装MySQL及基础配置全过程解析 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 详解MySQL WHERE:条件查询数据

    MySQL WHERE模块用来筛选满足特定条件的数据。该模块常用于查询数据表中的数据,其中条件是用来限制要返回的数据的范围。 语法: SELECT column_name(s) FROM table_name WHERE condition; 其中,column_name(s) 是要查询的列名,可以使用 * 代替。table_name 是要查询的数据表名。c…

    MySQL 2023年3月10日
    00
  • SQL Server游标的使用/关闭/释放/优化小结

    关于SQL Server游标的使用/关闭/释放/优化小结,我来为您详细讲解下。 什么是SQL Server游标 在SQL Server中,游标是一种临时的数据库对象,通过该对象可以一条一条地遍历查询结果。游标通常用于处理大量的数据集,例如,处理一张包含多条数据的表。 如何使用SQL Server游标 1. 定义游标 在SQL Server中,使用DECLAR…

    database 2023年5月19日
    00
  • [视频教程] 使用docker的方式安装redis

    直接使用docker拉取redis的镜像,并且进行端口映射与文件目录共享,这样可以直接在宿主机的端口上就可以进行访问了。其实本质上也是在一个简化版的ubuntu的容器内安装好的redis-server服务。 将docker修改为163镜像源在/etc/docker/daemon.json文件中添加下面参数{ “registry-mirrors” : [“ht…

    Redis 2023年4月11日
    00
  • redis三种分区方案

    参考地址:http://redis.cn/topics/partitioning.html   不同的分区实现方案 分区可以在程序的不同层次实现。 客户端分区就是在客户端就已经决定数据会被存储到哪个redis节点或者从哪个redis节点读取。大多数客户端已经实现了客户端分区。 代理分区 意味着客户端将请求发送给代理,然后代理决定去哪个节点写数据或者读数据。代…

    Redis 2023年4月13日
    00
  • CentOS中mysql cluster安装部署教程

    CentOS中mysql cluster安装部署教程 MySQL Cluster是一种高可用性和高性能的开源数据库集群系统,它可以在多个计算机节点之间分布式运行,并实现数据自动分片和自动容错。本教程将介绍在CentOS操作系统上安装和部署MySQL Cluster集群的步骤。 步骤1:安装MySQL Cluster包 在CentOS上安装MySQL Clus…

    database 2023年5月22日
    00
  • Using Redis Pub/Sub with Spring Boot

    This application consist of multiple micro services which interact with each other. We would create event driven construct, where services would connect to messaging layer and woul…

    Redis 2023年4月11日
    00
  • 详解MySQL中的分组查询与连接查询语句

    下面是针对“详解MySQL中的分组查询与连接查询语句”的完整攻略: 分组查询 在MySQL中,使用GROUP BY关键字可以对查询的结果集进行分组。 语法 SELECT col_name1, col_name2, … FROM table_name GROUP BY col_name1, col_name2, …; 示例说明 考虑下面这个表: stu…

    database 2023年5月21日
    00
  • PHP使用Redis队列执行定时任务实例讲解

    PHP使用Redis队列执行定时任务实例讲解 前言 定时任务是Web应用中常用的功能之一,例如发邮件、生成报表等等需要定时执行的任务。在执行定时任务时通常会使用到队列,常见的队列有RabbitMQ、Kafka、Redis等等。而本文主要介绍如何使用Redis队列来执行定时任务。 环境准备 在使用Redis队列前需要确保已经安装了Redis,可以使用redis…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部