
本文将详细介绍如何在Linux(以CentOS为例)系统中,通过源码包安装并配置MySQL数据库,确保每一步都清晰明了,让你轻松掌握这一技能
一、安装环境准备 在开始之前,确保你的Linux系统已经更新到最新版本,并且具备必要的编译工具和依赖库
我们以CentOS7.9为例进行演示
1.检查并卸载冲突的数据库组件: CentOS系统中默认安装了mariadb-libs组件,该组件与MySQL存在冲突,因此需要先检查并卸载它
bash rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs 2.安装编译依赖包: MySQL的编译安装依赖于一系列基础包,使用yum进行安装可以确保这些依赖得到满足
bash yum install -y cmake make gcc gcc-c++ openssl openssl-devel ncurses ncurses-devel bison bison-devel 二、下载并解压MySQL源码包 1.下载MySQL源码包: 前往MySQL官方网站(【https://downloads.mysql.com/archives/community/】(https://downloads.mysql.com/archives/community/))下载你需要的MySQL版本源码包
自MySQL5.7版本开始,需要依赖boost库,因此建议下载包含boost库的mysql-boost源码包,如mysql-boost-5.7.42.tar.gz
2.上传并解压源码包: 使用Xftp或其他FTP工具将下载的源码包上传到Linux系统中,这里假设上传到/usr/local/tmp目录
bash cd /usr/local/tmp ls mysql-boost-5.7.42.tar.gz tar -zxvf mysql-boost-5.7.42.tar.gz ls mysql-5.7.42 mysql-boost-5.7.42.tar.gz 三、编译安装MySQL 1.创建安装目录和数据存放目录: 在编译安装之前,需要为MySQL创建安装目录和数据存放目录
bash mkdir -p /usr/local/mysql mkdir -p /data/mysql 2.创建MySQL用户和用户组: 为了安全起见,建议为MySQL创建一个专用的用户和用户组
bash groupadd mysql useradd -r -g mysql mysql 3.进行预编译: MySQL使用cmake进行预编译,而不是传统的./configure
在预编译过程中,你需要指定一系列配置选项,如安装位置、数据存放位置、端口号等
bash cd mysql-5.7.42 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_TCP_PORT=3306 -SYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_BOOST=boost/boost_1_59_0 注意:根据你的实际需求,调整上述配置选项
例如,如果你不需要InnoDB存储引擎,可以省略`-DWITH_INNOBASE_STORAGE_ENGINE=1`
4.编译并安装: 编译过程可能会比较耗时,尤其是当你的CPU核心数较多时,可以使用make -jx选项来加速编译过程,其中x代表你的CPU核心数
bash make && make install 四、初始化数据库并启动服务 1.创建相关目录并赋予权限: 编译安装完成后,需要为MySQL创建必要的目录,并赋予mysql用户相应的权限
bash cd /usr/local/mysql mkdir -p data tmp logs chown -R mysql:mysql /usr/local/mysql chown -R mysql:mysql /data/mysql 2.初始化数据库: 进入MySQL的scripts目录,执行mysql_install_db脚本来初始化数据库
bash cd /usr/local/mysql/scripts ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql 3.设置环境变量: 为了方便使用mysql命令,需要将MySQL的bin目录添加到PATH环境变量中
bash export PATH=$PATH:/usr/local/mysql/bin vim /etc/profile 在/etc/profile文件的末行添加`export PATH=$PATH:/usr/local/mysql/bin`,然后保存并退出
使配置文件生效: bash source /etc/profile 4.配置MySQL服务: 将MySQL的配置文件和支持文件拷贝到/etc目录下,并修改相应的权限
bash cd /usr/local/mysql/support-files cp my-default.cnf /etc/my.cnf cp mysql.server /etc/init.d/mysqld chmod755 /etc/init.d/mysqld 编辑/etc/my.cnf文件,根据你的需求进行修改
例如: ini 【mysqld】 basedir = /usr/local/mysql datadir = /data/mysql port =3306 character-set-server = utf8mb4 collation-server = utf8mb4_general_ci 5.添加服务并启动: 将MySQL服务添加到系统服务中,并设置为开机自启动
bash chkconfig --add mysqld chkconfig mysqld on service mysqld start 6.设置root账户密码: MySQL安装完成后,root账户的默认密码是空的
你需要使用mysqladmin命令为root账户设置一个新密码
bash mysqladmin -uroot password 你的密码 然后,你
打造高效MySQL主键:策略与最佳实践
Linux下MySQL源码安装配置指南
MySQL数据库:快速重链接指南
MySQL备份失败?数据库文件打开法
MySQL分组排序,轻松取每组Top记录
解析MySQL审计日志1406:安全监控新视角
MySQL数据库:如何更改Binlog模式以提升性能与安全
打造高效MySQL主键:策略与最佳实践
MySQL数据库:快速重链接指南
MySQL分组排序,轻松取每组Top记录
MySQL备份失败?数据库文件打开法
解析MySQL审计日志1406:安全监控新视角
MySQL数据库:如何更改Binlog模式以提升性能与安全
MySQL双字段联合排序技巧
CentOS上MySQL乱码问题与解决方案
MySQL5.7.15 RPM包安装指南
MySQL5.7权限配置全攻略
MySQL数据插入:确保ID唯一性的实用技巧
MySQL存储过程:如何传递数组参数