源码编译安装MySQL8.0.20的详细教程
1. 准备工作
在开始编译和安装之前,必须完成以下准备工作:
- 下载MySQL源代码包
- 安装必要的依赖库和工具 (gcc, make, cmake, ncurses-devel, etc.)
- 创建MySQL用户和组
下载MySQL源代码包可以通过官方网站进行下载,也可以使用wget命令进行下载:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20.tar.gz
安装必要的依赖库和工具可以使用以下命令进行安装:
yum install gcc gcc-c++ cmake ncurses-devel bison
创建MySQL用户和组可以使用以下命令进行创建:
groupadd mysql
useradd -r -g mysql mysql
2. 编译和安装MySQL
- 解压MySQL源代码包:
tar -zxvf mysql-8.0.20.tar.gz
cd mysql-8.0.20
- 配置MySQL编译选项:
cmake . -DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=../boost \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DHAVE_TZINFO=1 \
-DFORCE_INSOURCE_BUILD=ON \
-DWITH_UNIT_TESTS=0
参数说明:
- DOWNLOAD_BOOST:使用自动下载的Boost库
- WITH_BOOST:指定Boost库的路径
- CMAKE_INSTALL_PREFIX:指定MySQL的安装路径
- MYSQL_DATADIR:指定MySQL的数据文件存储路径
- SYSCONFDIR:指定MySQL的配置文件路径
- WITH_INNOBASE_STORAGE_ENGINE:启用InnoDB存储引擎
- WITH_ARCHIVE_STORAGE_ENGINE:启用Archive存储引擎
- WITH_BLACKHOLE_STORAGE_ENGINE:启用Blackhole存储引擎
- WITH_DEBUG:不启用调试模式
- WITH_EMBEDDED_SERVER:启用嵌入式服务器
- ENABLED_LOCAL_INFILE:启用从本地文件加载数据
- WITH_SSL:使用系统安装的SSL库
- WITH_ZLIB:使用系统安装的ZLIB库
- HAVE_TZINFO:启用时区支持
- FORCE_INSOURCE_BUILD:在MySQL源代码目录中进行编译
-
WITH_UNIT_TESTS:不编译单元测试
-
编译和安装MySQL:
make
make install
- 配置MySQL:
首先,创建MySQL的主配置文件my.cnf:
vi /etc/my.cnf
复制以下内容:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/local/mysql/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 1
log-error = /usr/local/mysql/error.log
然后,初始化MySQL:
cd /usr/local/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
最后,启动MySQL:
bin/mysqld_safe --user=mysql &
3. 示例说明
示例1:创建一个新的MySQL数据库
首先,用root用户登录到MySQL:
mysql -u root -p
然后,创建一个新的数据库:
CREATE DATABASE testdb;
最后,退出MySQL:
quit;
示例2:为MySQL用户授权
首先,用root用户登录到MySQL:
mysql -u root -p
然后,为MySQL用户授权:
GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY 'password';
此处,密码替换为你设置的密码。
最后,更新MySQL权限:
FLUSH PRIVILEGES;
退出MySQL:
quit;
至此,源码编译安装MySQL8.0.20的详细教程已经完成。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:源码编译安装MySQL8.0.20的详细教程 - Python技术站