一、环境准备
在安装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进行数据库开发工作。