您的位置:

Linux下MySQL 8.0安装教程

一、环境准备

在安装MySQL 8.0之前,请确保您的Linux系统已经安装了gcc、g++、make、cmake等常用开发工具,否则安装MySQL将会出现各种编译错误。

1. 安装必要的工具

sudo yum groupinstall "Development tools"
sudo yum install cmake

2. 安装依赖项

sudo yum install libffi-devel
sudo yum install openssl-devel
sudo yum install bzip2-devel
sudo yum install -y zlib-devel
sudo yum install libaio-devel
sudo yum install ncurses-devel

二、下载MySQL 8.0

到MySQL官方网站下载最新版本的MySQL 8.0:https://dev.mysql.com/downloads/mysql/。

1. 下载MySQL 8.0压缩包

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.22.tar.gz
tar -zxvf mysql-8.0.22.tar.gz
cd mysql-8.0.22/

2. 编译安装MySQL

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_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DMYSQL_TCP_PORT=3306
make
make install

三、配置MySQL

1. 创建MySQL用户和用户组

为避免安装时使用root用户,我们需要创建一个MySQL用户和用户组。

useradd -M -s /sbin/nologin mysql
groupadd mysql
usermod -a -G mysql mysql
chown -R mysql:mysql /usr/local/mysql

2. 修改MySQL配置文件

在安装目录下的my.cnf文件中,设置MySQL启动参数。

vim /etc/my.cnf

输入以下内容:

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#设置具体字符集
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
#设置允许最大连接数
max_connections=1500
#设置表打开的缓存数目
table_open_cache=1024
#设置查询缓存大小为128MB
query_cache_size=128MB
#设置单个查询缓存结果的最大字节数
query_cache_limit=8MB
#设置临时文件路径
tmpdir=/usr/local/mysql/tmp

四、启动MySQL服务

1. 初始化数据库

初始化MySQL数据库

cd /usr/local/mysql/bin/
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

2. 启动MySQL

启动MySQL服务器

./mysqld_safe --user=mysql &

3. 添加环境变量

echo "export PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
source /etc/profile

4. 设置root用户的初始密码

./mysql -uroot -e "SET PASSWORD = PASSWORD('your_password_here');
FLUSH PRIVILEGES;"

5. 登录MySQL

./mysql -uroot -p

五、安全设置

1. 修改root用户名

为保证安全,修改root账号的名称

use mysql;
update user set user='your_new_root' where user='root';
flush privileges;

2. 修改数据存储路径

将MySQL的数据存储路径修改为非安装目录之外的其他位置。

vim /etc/my.cnf

修改以下内容:

[mysqld]
datadir=/data/mysql

3. 关闭不必要的权限和服务

在/etc/my.cnf文件中关闭不必要的权限和服务。

[mysqld]
#关闭命令:"mysql -O max_join_size=1"
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
local-infile=0 
skip-symbolic-links
skip-host-cache 
skip-name-resolve
#关闭mysql查询DNS
skip-name-resolve
#禁止匿名访问
skip-networking

总结

通过以上步骤,我们已经成功安装了MySQL 8.0,并对其进行了相关的环境配置,可以放心地使用MySQL进行数据库开发工作。