您的位置:

MySQL编译安装教程

一、环境准备

在开始编译安装MySQL之前,需要先准备好一些依赖环境:

1、GCC编译器和make命令(如果已经安装则可以跳过这一步)

sudo apt-get update
sudo apt-get install build-essential

2、cmake工具

sudo apt-get install cmake

3、ncurses库

sudo apt-get install libncurses5-dev libncursesw5-dev

二、下载MySQL源码

从MySQL官网上下载所需版本的源码,这里以最新版本为例:

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.26.tar.gz

三、解压源码并进入目录

tar -zxvf mysql-8.0.26.tar.gz
cd mysql-8.0.26

四、开始编译安装

1. 创建一个新的用户组和用户

在编译之前,我们需要创建一个新的MySQL用户组和MySQL用户,并将编译后的MySQL安装在该用户下,这么做可以增强安全性。

创建MySQL用户组

sudo groupadd mysql

创建MySQL用户

sudo useradd -r -g mysql -s /bin/false mysql

2. 配置编译选项

进入MySQL源代码目录中的cmake配置目录,并执行以下命令配置编译选项:

cd cmake
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_BOOST=/usr/local

这里解释下每个选项的含义:

-DCMAKE_INSTALL_PREFIX:指定MySQL安装路径

-DMYSQL_DATADIR:指定MySQL数据存放路径

-DSYSCONFDIR:指定MySQL配置文件存放路径

-DWITH_MYISAM_STORAGE_ENGINE:支持MyISAM存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE:支持InnoDB存储引擎

-DWITH_MEMORY_STORAGE_ENGINE:支持Memory存储引擎

-DWITH_READLINE:使用readline库,提高命令行交互的效率

-DENABLED_LOCAL_INFILE:支持从本地读取数据

-DDEFAULT_CHARSET:设置默认字符集

-DDEFAULT_COLLATION:设置默认校对规则

-DWITH_BOOST:指定boost库路径(如果需要支持InnoDB memcached接口,需要指定)

3. 编译并安装

在MySQL源码目录中执行以下命令进行编译,这里使用make命令:

make

编译完成后,执行以下命令进行安装:

sudo make install

五、启动MySQL服务

1. 初始化数据

在安装目录下的bin目录中执行以下命令来初始化数据:

sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql

初始化完成后,会输出一个随机生成的密码,需要记录下来,后面登录MySQL需要使用该密码。

2. 启动服务

执行以下命令来启动MySQL服务:

sudo systemctl start mysqld

如果需要系统重启后自动启动MySQL服务,可以执行以下命令:

sudo systemctl enable mysqld

3. 配置MySQL安全

安装完成后,需要进行一些基本的安全配置,包括修改root用户密码、移除test数据库等。

执行以下命令进入MySQL安全配置向导:

sudo /usr/local/mysql/bin/mysql_secure_installation

按照提示依次进行操作即可。

六、连接MySQL

1. 登录MySQL

在终端中执行以下命令登录到MySQL:

mysql -u root -p

回车后输入刚才记录下来的密码即可登录。

2. 修改root用户密码

执行以下SQL命令来修改root用户密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

这里的“新密码”为自己设定的新密码。

3. 创建新用户

执行以下SQL命令来创建一个新用户:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

这里的“username”为新用户名,“password”为新用户密码。

4. 授权

执行以下SQL命令来授权新用户访问某个数据库:

GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'localhost';

这里的“dbname”为数据库名,“username”为新用户名。

5. 退出MySQL

执行以下命令退出MySQL:

exit;

七、总结

到这里,MySQL的编译安装就完成了。