一、下载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基础知识和操作经验,否则容易出现错误。此外,在进行安装时,应该根据实际情况进行自定义配置,以满足实际需求。