1.下载 msyql 压缩包

1
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

2.解压 mysql 压缩包

1
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

3.将解压缩的目录重命名,便于后面的配置

1
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql

4.添加系统 mysql 组和 mysql 用户

1
2
3
4
# 添加 mysql组
groupadd mysql
#添加 mysql用户 -r参数表示mysql用户是系统用户,不可用于登录系统 -g添加到组
useradd -r -g mysql mysql

5.mysql 下创建 data 目录

1
2
3
4
#进入 mysql目录
cd mysql
#创建 data目录
mkdir data

6.将 mysql 目录的所有者及所属组改为 mysql

1
chown -R mysql.mysql /usr/local/mysoftware/mysql

7.在/usr/local/mysoftware/mysql/support-files 目录下创建 my_default.cnf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 进入 support-files目录
cd support-files
# 创建 my_default.cnf文件
touch my_default.cnf
# 用vim编辑器打开 my_default.cnf
vim my_default.cnf

# 配置如下
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir=/usr/local/mysoftware/mysql
datadir=/usr/local/mysoftware/mysql/data
port=3306
socket=/tmp/mysql.sock
character-set-server=utf8
log-error=/usr/local/mysoftware/mysql/data/mysqld.log
pid-file=/usr/local/mysoftware/mysql/data/mysqld.pid

8.拷贝并覆盖 /etc/my.cnf 文件

1
2
# 拷贝命令 cp
cp my_default.cnf /etc/my.cnf

9.初始化 mysqld,初始化完成之后查看日志,复制出临时密码

1
2
3
4
5
6
# 进入/usr/local/mysoftware/mysql 下执行初始化命令
cd /usr/local/mysoftware/mysql
# 初始化 mysqld
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysoftware/mysql/ --datadir=/usr/local/mysoftware/mysql/data/
# 查看日志获取密码 密码在root@localhost: 后面
cat /usr/local/mysoftware/mysql/data/mysqld.log

初始化命令执行后可能会出现下面错误
image.png
解决办法
系统如果是 centos

1
2
yum install libaio*
yum -y install numactl

系统如果是 ubuntu

1
2
sudo apt-get install libaio-dev
sudo apt-get install numactl

10.把启动脚本放到开机初始化目录,启动 mysql 服务

1
2
3
4
# 把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
# 启动mysql服务
service mysql start

11.登录 mysql,密码为初始密码(复制出来的),修改密码

1
2
3
4
5
6
7
# 登录mysql
cd /usr/local/mysoftware/mysql
./bin/mysql -u root -p
# 修改密码
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;

12.添加远程访问权限

1
2
3
mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;

13.退出 mysql,重启 mysql 生效

1
2
3
4
service mysql stop
service mysql start

service mysql restart

14.配置环境变量

1
2
3
4
5
6
7
8
# 使用vim编辑器打开 /ect/profile配置文件
vim /etc/profile
# 重新加载配置文件
source /etc/profile

#配置mysql环境变量
export MYSQL_HOME=/usr/local/mysoftware/mysql
export PATH=$PATH:$MYSQL_HOME/bin