下面是“Linux下二进制编译安装MySql centos7的教程”的完整攻略。
一、前置条件
在开始安装之前,请确保以下条件都已满足:
- 安装好了 CentOS 7 操作系统。
- 拥有 root 权限。
- 已经安装了 C 和 C++ 编译器。
二、安装所需软件包
在开始安装 MySQL 前,需要安装以下软件依赖包:
yum install -y wget cmake gcc gcc-c++ ncurses-devel perl perl-devel perl-Data-Dumper
三、下载 MySQL
下载 MySQL 二进制安装包:
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
四、解压缩缩下载的安装包
解压缩下载的 MySQL 安装包:
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz -C /opt/
五、创建 MySQL 用户组和用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
六、设置 MySQL 的安装目录的权限
chown -R mysql:mysql /opt/mysql-5.7.35-linux-glibc2.12-x86_64
七、开始 MySQL 的编译安装
- 首先进入 MySQL 的安装目录:
cd /opt/mysql-5.7.35-linux-glibc2.12-x86_64
- 使用以下命令进行编译安装:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc/mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql
make && make install
其中,-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
指定 MySQL 安装目录,-DMYSQL_DATADIR=/data/mysql/data
指定 MySQL 的数据目录,-DSYSCONFDIR=/etc/mysql
指定 MySQL 的配置文件目录。
八、初始化 MySQL 数据目录
进入 MySQL 安装目录的 bin
目录,运行以下命令来初始化 MySQL 数据目录:
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
这里要注意的是,初始化时要指定 --user
、--basedir
和 --datadir
参数,不然可能会提示权限不足或找不到目录等错误。
九、安装 MySQL 服务
在 CentOS 系统中,使用 systemd
来启动和管理服务。使用以下命令安装 MySQL 服务:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
systemctl enable mysqld
systemctl start mysqld
十、配置 MySQL
编辑 /etc/my.cnf
文件,添加以下内容:
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
十一、连接 MySQL
使用以下命令连接 MySQL 数据库:
mysql -u root -p
这里要注意的是,初始时没有设置密码,所以直接输入回车即可。
连接成功后,可以设置 MySQL 的 root 用户的密码:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_password');
示例说明
示例一:安装 MySQL 时指定自定义的数据目录
假设用户想将 MySQL 的数据目录设置为 /data/mysql/data2
,可以在步骤七的编译安装命令中,将 -DMYSQL_DATADIR=/data/mysql/data
修改为 -DMYSQL_DATADIR=/data/mysql/data2
。
示例二:编译安装 MySQL 的时候使用源码包而非二进制包
假设用户想使用 MySQL 的源码包编译安装,可以按照以下步骤操作:
- 下载 MySQL 源码包,解压缩:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.35.tar.gz
tar -zxvf mysql-5.7.35.tar.gz -C /opt/
- 进入 MySQL 的源码目录,进行编译安装:
cd /opt/mysql-5.7.35
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc/mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql
make && make install
这里需要注意的是,使用源码包进行编译安装时,需要先安装好 MySQL 所需的相关依赖包,而不是像二进制安装包一样,在安装前通过 yum 等命令安装好依赖包。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux下二进制编译安装MySql centos7的教程 - Python技术站