Linux离线部署安装MySQL5.7(详细教程!!!)

mysql官网下载地址:https://dev.mysql.com/downloads/mysql/

Linux离线部署安装MySQL5.7(详细教程!!!)

默认是显示最新版版本,点击Archives选择历史版本,我这里用到到是5.7.29版本

Linux离线部署安装MySQL5.7(详细教程!!!)

选择对应版本下载好后上传到服务器

下面开始部署安装mysql

1、 创建新的用户组和新的用户,用来管理mysql,提高安全性

groupadd mysql

添加mysql用户 ,并制定组为mysql,/sbin/nologin意思是用户不允许登录

useradd -r -g mysql mysql -s /sbin/nologin

 

2、上传mysql程序包mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz,修改名称

cd /home

tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql-5.7.29

 

3、 创建数据存储目录,日志目录和mysqld.log日志文件,并设置读写权限

创建data和log目录

mkdir /home/mysql-5.7.29/{data,logs}

创建日志文件

touch /home/mysql-5.7.29/logs/mysqld.log

设置data和log目录的读写权限,-R表示整个目录授权

chmod 777 -R {data,logs}

Linux离线部署安装MySQL5.7(详细教程!!!)

4、 给mysql用户授权能够访问/home下的mysql-5.7.29文件夹

chown -R mysql.mysql /home/mysql-5.7.29/

 

5、 修改/etc/my.cnf配置文件,这样才能使下一步初始化加载数据库的路径是自己自定义选择的路径,配置文件内容如下:

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

basedir=/home/mysql-5.7.29

datadir=/home/mysql-5.7.29/data

socket=/home/mysql-5.7.29/mysql.sock

# 开启ip绑定

#bind-address = 0.0.0.0

log_timestamps = SYSTEM

open_files_limit=30000

max_connections=3000

#控制其通信缓冲区的最大长度

max_allowed_packet=256M

# #设置忽略大小写(简单来说就是sql语句是否严格),默认库名表名保存为小写, 不区分大小写

lower_case_table_names = 1

#

# # 开启慢查询

#slow_query_log=on

#slow_query_log_file=/home/mysql-5.7.29/log/slow-query.log

#

[mysqld_safe]

log-error=/home/mysql-5.7.29/logs/mysqld.log

pid-file=/home/mysql-5.7.29/data/mysqld.pid

# #指定客户端连接mysql时的socket通信文件路径

[client]

socket=/home/mysql-5.7.29/mysql.sock

default-character-set=utf8

 

6、 初始化数据库

./bin/mysqld --initialize --user=mysql --basedir=/home/mysql-5.7.29/ --datadir=/home/mysql-5.7.29/data

Linux离线部署安装MySQL5.7(详细教程!!!)

此时会生成一个临时密码 如:CcPcnyCW%3Go【记住此临时密码,下面会用上】,每个人安装部署时产生的临时密码不一致,以初始化数据库打印的临时密码为准

注意:如果需要重新初始化配置,需要将data目录下的文件清空,否则初始化会失败

Linux离线部署安装MySQL5.7(详细教程!!!)

 

8、添加至开机启动

在mysql5.7.29的目录下执行下列语句,把启动脚本放到开机初始化目录

cp ./support-files/mysql.server /etc/init.d/mysqld

设置开机启动,在mysql-5.7.29的目录下执行下列语句(按个人需求选择加或不加)

chkconfig --add mysqld

 

9、修改mysqld,使用vim /etc/init.d/mysqld 命令,修改以下代码部分

具体以实际路径为准

Linux离线部署安装MySQL5.7(详细教程!!!)

10、启动mysql服务和修改mysql初始化密码

service mysqld start

启动的发现报错了,这时候查看3306端口发现端口是被正常监听的,但是停止服务又提示pid不存在,这时候先kill一下,然后再次启动发现OK了,这个啥情况我也不太清楚

 

Linux离线部署安装MySQL5.7(详细教程!!!)

./bin/mysql -uroot -p -S /home/mysql-5.7.29/mysql.sock,mysql.sock在mysql启动后会自动生成,生成的路径就是/etc/my.cnf配置的路径,root密码为:linewelldzzz_123!

1、设置root密码

alter user [email protected] identified by 'root';

2、use选择mysql

use mysql

3、设置局域网ip均能访问

update user set user.Host='%' where user.User='root';

4、执行生效指令

flush privileges;

Linux离线部署安装MySQL5.7(详细教程!!!)

这里建议设置完成后不要马上退出mysql,先用可视化工具连接测试一下,否则可能连接不上,但是用户名和密码又没错,如果没退出,你还能再次输入通过指令修改root的密码,所以保证连接成功后,在输入exit进行退出。

最后通过可视化工具连接测试成功,自此mysql5.7.29在Linux环境上安装部署完成~

Linux离线部署安装MySQL5.7(详细教程!!!)