您的位置:

使用源码进行MySQL安装

一、下载MySQL源码

要进行MySQL的源码安装,首先需要从官方网站https://dev.mysql.com/downloads/mysql/下载合适的MySQL源码包。如果要安装的是MySQL 8.0版本,可以下载一个tar.gz格式的源码包,例如mysql-8.0.21.tar.gz。

下载完成后,将源码包复制到要安装MySQL的服务器上,并解压到一个合适的目录中:

# mkdir /usr/local/src/mysql
# tar -zxvf mysql-8.0.21.tar.gz -C /usr/local/src/mysql

二、安装MySQL所需依赖

在安装MySQL前,需要先安装MySQL所需的一些依赖库和工具,包括cmake、gcc、ncurses和openssl等。

以CentOS 7系统为例,可以通过以下命令安装所需的依赖:

# yum install cmake gcc ncurses-devel openssl-devel -y

三、配置MySQL编译选项

通过cmake对MySQL进行编译时,需要对编译选项进行配置。以下是一些常用的编译选项:

  • -DCMAKE_INSTALL_PREFIX:指定MySQL的安装路径,默认为/usr/local/mysql。
  • -DMYSQL_DATADIR:指定MySQL的数据文件存放目录,默认为安装目录下的data目录。
  • -DDEFAULT_CHARSET:指定MySQL的默认字符集。
  • -DDEFAULT_COLLATION:指定MySQL的默认排序规则。
  • -DWITH_BOOST:启用BOOST库支持。
  • -DWITH_INNOBASE_STORAGE_ENGINE:启用InnoDB存储引擎。
  • -DWITH_MYISAM_STORAGE_ENGINE:启用MyISAM存储引擎。
  • -DWITH_ARCHIVE_STORAGE_ENGINE:启用Archive存储引擎。

以下是一个例子,指定MySQL的安装路径为/usr/local/mysql,数据文件存放在/var/mysql:

# cd /usr/local/src/mysql/mysql-8.0.21
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/mysql -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_BOOST=boost -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1

四、编译MySQL源码

进行完配置后,就可以进行MySQL源码的编译了:

# make -j $(nproc)

五、安装MySQL

编译完成后,就可以安装MySQL了。以下是安装命令:

# make install

六、初始化MySQL数据库

安装完成后,需要对MySQL进行数据库的初始化:

# cd /usr/local/mysql
# bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/var/mysql

--initialize-insecure选项表示不启用密码验证,需要在之后进行修改。

七、启动MySQL服务

初始化完成后,可以启动MySQL服务:

# bin/mysqld_safe --user=mysql &

如果需要在后台运行,可以加上--daemonize选项。

八、修改MySQL管理员密码

MySQL管理员密码默认为空,需要进行设置:

# bin/mysql -u root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yournewpassword';
mysql> FLUSH PRIVILEGES;
mysql> exit;

九、配置MySQL开机自启

为了让MySQL在每次启动时自动运行,可以将MySQL服务加入系统启动项中。以下是CentOS 7系统的示例:

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# chmod +x /etc/init.d/mysql
# chkconfig --add mysql
# chkconfig mysql on
# systemctl daemon-reload

十、总结

以上就是使用源码进行MySQL安装的全部过程,需要注意的是,使用源码进行安装需要具备一些Linux基础知识和操作经验,否则容易出现错误。此外,在进行安装时,应该根据实际情况进行自定义配置,以满足实际需求。