发布于 

Mysql5.7 安装步骤记录

记录 Mysql5.7 安装步骤。

下载地址

https://downloads.mysql.com/archives/community/

解压安装包

1
2
3
tar -xvzf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz 
mkdir /usr/local/mysql
cp mysql-5.7.31-linux-glibc2.12-x86_64/* /usr/local/mysql -r

添加用户组和用户

1
2
3
4
5
6
7
8
9
10
groupadd mysql
useradd -r -g mysql mysql

chown -R mysql:mysql /usr/local/mysql/

mkdir /home/mysql/data
mkdir /home/mysql/log
mkdir /home/mysql/tmp

chown -R mysql:mysql /home/mysql/

配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# vim /etc/my.cnf 内容如下
[client]
port = 3306
socket = /home/mysql/tmp/mysql.sock

[mysqld]
server-id = 1
port = 3306
basedir = /usr/local/mysql
datadir = /home/mysql/data
tmpdir = /home/mysql/tmp
socket = /home/mysql/tmp/mysql.sock
pid-file = /home/mysql/log/mysql.pid
skip_name_resolve = 1
character-set-server = utf8mb4
transaction_isolation = READ-COMMITTED
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
lower_case_table_names = 1
max_connections = 400
max_connect_errors = 1000
explicit_defaults_for_timestamp = true
interactive_timeout = 1800
tmp_table_size = 128M

log_error = /home/mysql/log/error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /home/mysql/log/slow.log

log-bin = mysql-bin
binlog_format = ROW
binlog_row_image = minimal

innodb_buffer_pool_size = 2048M

初始化mysql

1
2
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql

可能会报错,如下:

1
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

分别执行以下命令安装缺失包即可:

1
2
yum -y install libaio
yum -y install numactl

注:如果离线环境,可能需要先配置好yum源

没有异常的话, mysql已经初始化完成,默认的root密码打印在/home/mysql/log/error.log

设置开机启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 复制启动脚本
cd /usr/local/mysql
cp support-files/mysql.server /etc/rc.d/init.d/mysqld

# 添加执行权限
chmod +x /etc/rc.d/init.d/mysqld

# 加入系统服务
chkconfig --add mysqld

# 检查mysqld服务是否已经生效
chkconfig --list mysqld

# 切换至mysql用户,启动mysql
su - mysql
service mysqld start

将mysql命令加入环境变量

1
2
3
4
5
su - mysql

vi .bash_profile
#增加export PATH=$PATH:/usr/local/mysql/bin
source .bash_profile

登录mysql, 修改密码

1
2
3
4
mysql -uroot -p
# 密码在/home/mysql/log/error.log
set password for root@localhost=password("123456");
# select * from mysql.user 已经可以看到

添加mysql用户,设置权限

1
2
3
CREATE USER 'appuser'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'appuser'@'%';
FLUSH PRIVILEGES;