【Linux 无网络状态下离线安装 MySQL】

【Linux 无网络状态下离线安装 MySQL】

一、准备安装包

可以去MySQL官网进行下载需要的安装包,下面这个链接

Mysql的下载地址

Microsoft Windows 版本

Linux-Generic 版本

5.7.4的版本和8.0版本的下载地址

全部版本的下载地址

libao的下载地址(版本一样,如有报错留言可以发送原版)

下载地址

二、使用步骤

1.上传

复制代码
使用ftp工具或者Xftp工具将(mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz 以及 libao-1.2.0.tar.gz)
上传到/usr/local文件夹下(放到哪里根据自身要求进行)。

2.检查及卸载

复制代码
在安装之前先检查一下环境中是否已经存在MySQL。使用命令 find / -type f -name "mysql*"。
如果存在 /etc/my.cnf 这个文件,也需要删除。因为系统中存在 mariadb 才会有这个文件,可以先卸载 mariadb。
卸载 mariadb 步骤
 1. 先查看当前安装列表
	rpm -qa | grep mariadb
 2. 卸载  多次测试只需要卸载此文件即可,上面的配置文件不删出影响不大
	rpm -e --nodeps mariadb-libs-5.6.57-3.el7_5.x86_64
 3. 再使用 1. 进行检查是否卸载干净

3.解压安装MySQL安装包

复制代码
使用命令 cd /usr/local 进入到 local 文件夹下
使用命令 tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz 进行解压安装包

将解压后的文件夹名称更改为 mysql:
mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql

创建 mysql-files 文件夹并更改权限 
此目录是为了方便使用系统变量值 secure_file_priv,不过在这之前要先创建用户组。
groupadd mysql //创建mysql组
useradd -g mysql mysql //创建mysql用户添加到mysql组

然后再创建文件夹
mkdir -p /usr/local/mysql/mysql-files

修改账号权限:使mysql账号可以访问
chown -R mysql:mysql /usr/local/mysql/mysql-files
修改操作权限
chmod 750 /usr/local/mysql/mysql-files

初始化命令
bin/mysqld --initialize --user=mysql
bin/mysql_ssl_rsa_setup
但是缺少依赖包会报缺少依赖错误,这个时候就需要用到 libao-1.2.0.tar.gz 依赖了。

使用命令 cd /usr/local 进入到 local 文件夹下
使用命令 tar -zxvf libao-1.2.0.tar.gz 进行解压安装包

再次使用初始化命令
cd /usr/local/mysql

bin/mysqld --initialize --user=mysql
bin/mysql_ssl_rsa_setup

执行完可以看到MySQL的初始密码
[Note] A temporary password is generated for root@localhost: 初始密码

启动mysql 执行此命令后可以ctrl+c结束
bin/mysqld_safe --user=mysql &

查看mysqld进程 
ps aux | grep mysqld

停止启动可以直接停掉进程即可多次尝试,杀不死不影响最最后的结果
kill -9 进程id (强制终止)

小知识:tar -zxvf 用于解压 .tar.gz 后缀结尾的 tar -xvf 用于解压 .tar后缀结尾的

4.将mysql做成服务

复制代码
如果想要使用service命令启动或停止mysql,结果报错,则需要进行配置
service mysql start

拷贝服务至/etc/init.d/目录
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

设置运行权限
cd /etc/init.d/
chmod +x /etc/init.d/mysql

测试用service启动
service mysql start

5.将mysql服务加入开机自启项

复制代码
检查是否加入了开机自启项
chkconfig --list mysql

加入开机自启项
chkconfig --add mysql

6.软连接配置

复制代码
设置软连接
使用mysql -uroot -p进入mysql时,发现报错bash: mysql: command not found
这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,就找不到命令,
需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件(我们称之为软连接)。
要做软连接,首先要找到mysql命令或mysqladmin命令的完整路径,我们这里的路径是:/usr/local/mysql/bin/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin
登录mysql
设置之后,再进行本地登录
mysql -uroot -p
hfR/Fhg@p)ko(

7.修改密码

复制代码
# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd';

8.开启远程授权

复制代码
默认MySQL禁止远程链接,需要单独创建一个用户开启远程链接,这样就可以在windows下使用图形化工具连接   
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'P@ssw0rd' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

 mysql8的语法有点不一样 授权方式如下
8de远程授权连接
mysql> use mysql;
mysql> update user set user.Host="%" where user.user="root";
mysql> flush privileges;
mysql> select host,user from user;

8的远程关闭
update user set user.Host='localhost' where user.User='root';

9,防火墙

复制代码
检查防火墙 systemctl status firewalld
关闭防火墙 systemctl stop firewalld
禁用防火墙 systemctl disable firewalld
相关推荐
CodexDave8 小时前
MySQL事务隔离级别与MVCC机制解析
前端·数据库·mysql·nginx·性能优化·负载均衡
一叶龙洲8 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
星恒讯工业路由器9 小时前
5G FWA技术演进与趋势
网络·5g·信息与通信·4g·5g fwa·3gpp规范·fwa趋势
敖行客 Allthinker10 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
王琦031810 小时前
生产环境中使用通用二进制包安装
mysql
keyipatience11 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
j7~11 小时前
【Linux】二十二.《Linux 信号机制完全指南:表示、捕捉与处理》
linux·信号处理·volatile·可入重函数·保存信号
观山岳五楼12 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
星夜夏空9912 小时前
网络编程(1)
服务器·网络
上海云盾-小余12 小时前
中小站点防护避坑:低价高防服务存在的各类安全短板剖析
网络·爬虫·安全·ddos