
在某些特定场景下,你可能需要从源码编译安装MySQL,以便获得最新的功能或进行定制化的配置
本文将详细介绍如何使用MySQL源码建立数据库,从源码准备到数据库创建,涵盖整个过程
一、源码准备与环境配置 1. 下载MySQL源码包 首先,你需要从MySQL官方网站下载源码包
访问【MySQL下载页面】(https://dev.mysql.com/downloads/mysql/),选择你需要的版本(如5.7、8.0等),并下载对应的源码包
通常,源码包会以`.tar.gz`或`.tar.bz2`格式提供
2. 配置本地环境 在编译MySQL之前,你需要确保你的系统已经安装了必要的依赖包
这些依赖包可能包括编译器(如gcc)、构建工具(如make)、cmake以及必要的库文件
具体依赖项可能因操作系统和MySQL版本而异
例如,在CentOS系统上,你可以使用以下命令安装必要的依赖包: bash yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel 3. 创建用户和组 出于安全考虑,建议为MySQL创建一个专用的用户和组
你可以使用以下命令创建: bash groupadd mysql useradd -M -s /sbin/nologin -r -g mysql mysql 4. 创建数据目录并设置权限 MySQL需要一个目录来存放其数据文件
你可以创建一个专门的目录,并将其所有权设置为之前创建的mysql用户和组: bash mkdir -p /data/mysql/{data,log} chown -R mysql:mysql /data/mysql 二、编译与安装MySQL 1. 解压源码包 将下载的MySQL源码包解压到你选择的目录中: bash tar -zxvf mysql-x.x.x.tar.gz -C /path/to/extract 2. 进入源码目录并运行cmake 进入解压后的源码目录,并运行cmake命令进行预编译配置
cmake命令需要指定多个选项,包括安装目录、数据目录、配置文件目录等
例如: bash cd mysql-x.x.x cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=0 -DWITH_BOOST=/path/to/boost 注意:`DDOWNLOAD_BOOST=0`表示不使用cmake下载boost库,你需要自行下载并指定boost库的路径
3. 编译与安装 使用make命令进行编译,然后使用make install命令进行安装: bash make -j$(grep processor /proc/cpuinfo | wc -l) make install `-j`选项用于指定并行编译的线程数,以加快编译速度
三、初始化数据库并启动MySQL服务 1. 初始化数据库 在安装完成后,你需要初始化MySQL数据库
使用mysqld --initialize命令进行初始化: bash /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data 初始化过程中,MySQL会生成一个临时的root密码,你可以在初始化输出的日志中找到它
2. 配置MySQL服务 为了方便管理,你可以将MySQL添加为系统服务
创建并编辑MySQL的systemd服务文件: bash vim /etc/systemd/system/mysql.service 在文件中添加以下内容: ini 【Unit】 Description=MySQL Server After=network.target After=syslog.target 【Service】 User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf PIDFile=/data/mysql/mysql.pid LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 然后重新加载systemd配置并启动MySQL服务: bash systemctl daemon-reload systemctl start mysql systemctl enable mysql 3. 安全配置 在MySQL服务启动后,你需要使用初始化时生成的临时密码登录MySQL,并运行mysql_secure_installation命令进行安全配置
这将提示你设置新的root密码、删除匿名用户、禁止root远程登录等
四、使用MySQL创建数据库 现在,你已经成功从源码编译并安装了MySQL,接下来就可以使用MySQL创建数据库了
1. 登录MySQL 使用mysql客户端工具登录MySQL: bash /usr/local/mysql/bin/mysql -u root -p 输入你之前设置的root密码进行登录
2. 创建数据库 使用CREATE DATABASE语句创建数据库
例如,创建一个名为my_database的数据库: sql CREATE DATABASE my_database; 3. 使用数据库 使用USE语句切换到新创建的数据库: sql USE my_database; 4. 创建表并插入数据 在数据库中创建表,并插入数据
例如,创建一个名为customers的表,并插入一条记录: sql CREATE TABLE customers( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL ); INSERT INTO customers(name, email) VALUES(John Doe, john.doe@example.com); 5. 查询数据 使用SEL
设置MySQL表中文字段命名指南
从MySQL源码构建数据库指南
MySQL激活码:必备还是误解?
Navicat安装指南:MySQL插件轻松上手
MySQL优化架构:打造高效数据库设计
MySQL技巧:如何在查询结果最后一行自动添加合计行
MySQL打造高效朋友圈数据管理方案
设置MySQL表中文字段命名指南
MySQL激活码:必备还是误解?
Navicat安装指南:MySQL插件轻松上手
MySQL优化架构:打造高效数据库设计
MySQL技巧:如何在查询结果最后一行自动添加合计行
MySQL打造高效朋友圈数据管理方案
HDFS数据导出至MySQL全攻略
MySQL URL含义全解析
禅道MySQL数据库端口配置指南
RedHat6.5安装MySQL5.7教程
MySQL编译难题多,排查攻略来袭
MySQL启动日志存放位置揭秘:快速找到你的日志文件