下载地址:MySQL :: Download MySQL Community Server (Archived Versions)
1、检验是否已安装MySQL
rpm -qa | grep mysql
2、下载安装包
3、将下载的安装包传输到服务器上
4、解压安装包
tar xzvf mysql-5.7.24.tar.gz
5、重命名并移动到 /usr/local/mysql 下
mv mysql5.7.24 /usr/local/mysql
6、在 /usr/local/mysql 下创建 data (mysql数据目录)和 log (日志)文件夹
mkdir data
mkdir log
7、检查是否存在用户组,若没有创建mysql用户组和用户 ,存在就忽略步骤8;
检查:groups mysql
结果:groups: mysql: no such user 没有用户组
结果:mysql : mysql 已创建
8、创建用户组和用户
groupadd mysql
useradd -r -g mysql mysql
9、更改mysql目录下所属用户和用户组
chown -R mysql:mysql /usr/local/mysql
10、更改mysql目录权限
chmod -R 755 /usr/local/mysql
11、配置参数
vim /etc/my.cnf
进入后按 i 进入编辑模式
编辑完成后 esc → :wq 保存退出 (红框内可以不进行配置)
[mysqld]
# 默认监听端口
port=3306
user=mysql
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 安装目录
basedir=/usr/local/mysql
# 数据文件存放目录
datadir=/usr/local/mysql/data
symbolic-links=0
# 最大并发连接数
max_connections=2
# 同一个数据库用户可同时连接数据库的最大连接数(默认0,不限制)
max_user_connections=2
# 设置默认存储引擎
default-storage-engine=InnoDB
innodb_buffer_pool_size = 128M
[mysql]
# 默认字符集
default-character-set=utf8
# 开启tab补全功能
auto-rehash
# 库名、表名是否区分大小写(默认0,区分大小写)
lower_case_table_names = 1
[client]
# 客户端与服务端连接的套接字文件
socket=/usr/local/mysql/data/mysql.sock
[mysqld_safe]
# 错误日志存放路径
log-error=/usr/local/mysql/log/error.log
# 进程id文件存放路径
pid-file=/usr/local/mysql/log/mysql.pid
# 开启(ON)关闭(OFF)通用查询日志
general_log=ON
# 通用查询日志存放路径
general_log_file=/usr/local/mysql/log/general.log
# 慢查询日志
slow_query_log=ON
# 慢查询日志存放记录
slow_query_log_file=/usr/local/mysql/log/slow.log
# 超过**秒的查询,记录到慢查询日志,默认值10
long_query_time=10
# 执行缓慢管理语句记录到慢查询日志
log_slow_admin_statements=ON
#
# include all files from the config directory
#
!includedir /etc/my.cn
12、移动到解压目录中bin文件夹下
13、初始化mysql,最后是生成的临时密码;
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize
执行中踩过的坑
initialize specified but the data directory has files in it. Aborting.
由于 /usr/local/mysql/data 文件夹中存在文件 —— 清空文件夹即可
14、启动mysql服务器
/usr/local/mysql/support-files/mysql.server start
执行中踩过的坑
Starting MySQL.2022-02-17T03:30:27.697769Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
由于error.log 文件不存在 需要手动创建; 与etc/my.cnf文件中的路径对应
touch error.log
touch mysql.pid
15、添加软连接(重启服务)
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
16、使用生成的临时密码登陆mysql
mysql -uroot -p
17、修改密码
set password for root@localhost = password('123456');
18、开放远程连接
use mysql;
update user set user.Host='%' where user.User = 'root';
flush privileges;
19、设置开机自启
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld (拷贝文件)
chmod +x /etc/init.d/mysqld (赋予权限)
chkconfig --add mysqld (添加服务)
chkconfig --list (查看服务列表)