mysql5.7离线安装及问题解决

news2025/4/7 21:09:07

这次主要是讲解mysql5.7离线安装教程和一主一从数据库配置

1、去官网下载自己对应的mysql

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

在这里插入图片描述

2、查看需要安装mysql服务器的linux的类型

uname -a

在这里插入图片描述
在这里插入图片描述

第二步看一下系统有没有安装mysql

rpm -qa|grep -i mysql

3、上传安装包

用远程链接工具将安装包传输到对应的服务器为位上

#创建压缩包放的位置
mkdir -p /usr/mysql

4、解压


#我直接解压到/usr/mysql下(你们也可以解压到自己想放的路径)
 
cd /usr/mysql
 
tar zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
 
#修改一下解压后的文件夹名称
mv  mysql-5.7.44-linux-glibc2.12-x86_64 mysql-5.7.44

在这里插入图片描述

5、创建MYSQL用户组和用户

# 创建MYSQL用户组
groupadd mysql
 
# 添加MYSQL用户并添加到MYSQL用户组
useradd -r -g mysql mysql
 
#修改属组及属组用户和文件夹权限
chown -R mysql:mysql mysql-5.7.44
 
chmod -R 775 mysql-5.7.44

6、创建data数据目录

#创建data目录,一般都是放在对应的解压文件夹里,也可以放在其他地方,我这就放在/usr/mysql/mysql-5.7.44下
 
cd /usr/mysql/mysql-5.7.44
 
mkdir data

在这里插入图片描述

7、配置my.cnf文件

#直接vi编辑
vi /etc/my.cnf

添加内容如下

#mysql的安装目录(就是解压路径)
basedir=/usr/mysql/mysql-5.7.44
 
#mysql数据库的数据的存放data目录
datadir=/usr/mysql/mysql-5.7.44/data
 
#设置3306端口(也可以用其他的,生产环境中,尽量不要用3306,改用其他的)
port=3306
 
#允许最大连接数
max_connections=200
 
#允许连接失败的次数,可防止被攻击
max_connect_errors=10
 
#使用的字符集utf8mb4,utf8mb4比utf-8好一些,能兼容一些特殊数据
character-set-server=utf8mb4
 
#创建新表时使用的默认存储引擎
default-storage-engine=INNODB
 
#使用mysql_native_password插件认证,mysql_native_password
default_authentication_plugin=mysql_native_password
 
#设置查询操作等不区分大小写
lower_case_table_names=1
 
 
#mysql客户端默认字符集
[mysql]
default-character-set=utf8mb4

8、配置mysql.server

路径修改

#修改一下/usr/mysql/mysql-5.7.44/support-files/mysql.server里的配置
vi  /usr/mysql/mysql-5.7.44/support-files/mysql.server

在这里插入图片描述

9、初始化mysql

#到mysql的安装目录(就是解压路径)下的bin执行
#defaults-file:配置文件地址(/etc/my.cnf)
#basedir:mysql的安装目录(就是解压路径)
#datadir:创建的data数据目录
#user:创建的mysql用户
 
cd /usr/mysql/mysql-5.7.44/bin
 
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/mysql/mysql-5.7.44 --datadir=/usr/mysql/mysql-5.7.44/data --user=mysql --initialize
 
#注:初始化后最后一行会给个密码,最好复制保存一下

在这里插入图片描述

10、配置连接

拷贝mysql.server这份启动文件到系统环境下,当然建立软连接也可以,我这使用软连接

#配置
ln -s /usr/mysql/mysql-5.7.44/support-files/mysql.server /etc/init.d/mysql
 
#查看是否成功
ll /etc/init.d/mysql
 
#配置
ln -s /usr/mysql/mysql-5.7.44/bin/mysql /usr/local/bin/mysql
 
#查看是否成功
ll /usr/local/bin/mysql

在这里插入图片描述

11、启动命令

service mysql start   #启动mysql服务
service mysql stop    #停止mysql服务
service mysql restart  #重启mysql服务

在这里插入图片描述

12、修改密码

mysql -u root -p

#再次登录
mysql -u root -p
 
#输入初始化得到的密码
#修改密码为Ling@2023(自己的自行决定)
set password for root@localhost = password('Ling@2023');
 
#设置用户的访问密码用不过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
 
 
#配置远程连接
use mysql;
 
update user set host='%' where user='root';
 
#刷新
FLUSH PRIVILEGES;

在这里插入图片描述

11、设置自启动

#退出mysql,在root帐户下改
chkconfig --add mysql 
 
#查看是否成功
chkconfig --list

在这里插入图片描述

13、配置远程控制

# 开启端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
 
# 重启防火墙
 
firewall-cmd --reload
 
# 查看已经开放的端口
firewall-cmd --list-ports

在这里插入图片描述

14、数据导入

配置如何配置sql数据,导入数据;
在这里插入图片描述

mysqlimport -u root -p --local your_database_name /path/to/your_data_file.csv  

在这里插入图片描述

数据导出

mysql -u root -p your_database_name < /path/to/your_sql_file.sql  

在这里插入图片描述
-u 或 --user=USERNAME:
指定连接 MySQL 的用户名。

mysqldump -u root 

-p 或 --password=PASSWORD:
指定连接 MySQL 的密码。如果不指定密码,系统会提示输入。

mysqldump -u root -p 

-h 或 --host=HOSTNAME:
指定 MySQL 服务器的主机名或 IP 地址。

mysqldump -u root -p -h 192.168.1.100 

–all-databases:
备份所有数据库。

mysqldump -u root -p --all-databases 
--databases:

备份指定的多个数据库。

mysqldump -u root -p --databases db1 db2 db3 

–ignore-table=TABLE_NAME:
忽略指定的表,不进行备份。

mysqldump -u root -p --databases dbname --ignore-table=dbname.table1  

–lock-tables:
备份过程中锁定表,防止数据变化。

mysqldump -u root -p dbname --lock-tables 
--single-transaction:

在事务中进行备份,适用于 InnoDB 表,确保数据一致性。

mysqldump -u root -p dbname --single-transaction 

–quick 或 -q:
快速导出大表,减少内存占用。

mysqldump -u root -p dbname --quick 

–compress 或 -C:
压缩导出的数据,适用于通过网络传输。

mysqldump -u root -p dbname --compress 
--result-file=FILE_NAME:

指定导出文件的名称。

mysqldump -u root -p dbname --result-file=backup.sql  

注意事项

1、如果在配置完my.cnf后,第一次启动出现错误时,可以看一下是不是日志文件输出目录没有创建;

2、如果启动mysql后,出现什么问题,可以查看mysql日志文件中是怎么显示的;

3、mysql 数据库在迁移或还原数据过程中出现的如下报错

ERROR 1231 (42000): Variable 'time_zone' can't be set to the value of 'NULL'
ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NULL'
ERROR 1231 (42000): Variable 'foreign_key_checks' can't be set to the value of 'NULL'
ERROR 1231 (42000): Variable 'unique_checks' can't be set to the value of 'NULL'
ERROR 1231 (42000): Variable 'character_set_client' can't be set to the value of 'NULL'
Query OK, 0 rows affected (0.00 sec)
ERROR 1231 (42000): Variable 'collation_connection' can't be set to the value of 'NULL'
ERROR 1231 (42000): Variable 'sql_notes' can't be set to the value of 'NULL'

解决办法:

修改mysql配置文件,编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet=1024M

查看目前配置:
代码如下:

show VARIABLES like '%max_allowed_packet%';

显示的结果为:

代码如下:
±-------------------±--------+
| Variable_name | Value |
±-------------------±--------+
| max_allowed_packet | 1048576 |
±-------------------±--------+
以上说明目前的配置是:1M

4、本机可以通过3306端口连接mysql服务器,但远程不行。
1、网络检测

1)ping主机可以;
2)telnet 主机3306端口不可以;
telnet 主机22端口可以;
说明与本机网络没有关系;
2、端口检测

1)netstat -ntpl |grep 3306
    tcp        0      0 :::3306                     :::*                        LISTEN      - 
2)netstat -ntpl |grep 22
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -   
  可以看出22端口监听所有地址,而3306只监听本机地址(绑定了到了本地),所以远程无法访问。
  对于端口只允许本机访问,有两个地方启用,一个是防火墙启用3306,一个就是mysql配置绑定本机地址。

参考:http://blog.csdn.net/fjssharpsword/article/details/50973283

3、防火墙检测

 1)iptables --list查看;
 2)开启防火墙3306端口
     vi /etc/sysconfig/iptables
     -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙) 
     /etc/init.d/iptables restart(重启防火墙使配置生效)
 3)或者直接关闭防火墙;

4、mysql配置文件检查

检查my.cnf的配置,bind-address=addr可以配置绑定ip地址。
不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。
#ps -aux | grep mysql  查看进程ID是3340
#ll /proc/3340 查看进程程序情况,找配置文件或者#which mysql 找程序路径

5、mysql用户访问权限(大多数是链接不上是这种情况)

进入mysql数据库
   >mysql -u root -p
   >use mysql;
 1.>select host,user from user; //查看用户
    MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost只能本机访问;
    其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。
 2.设置host为%
   >update user set host='%' where user = 'root';
    %为任意用户都有权限连接,localhost为只能本机连接,配置完host为%这一步就已经能外网访问了
 3.授权用户具体权限
   >grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
   >flush privileges;//刷新权限
 4.删除用户
   >drop user zhangsan@'%';
注意: 一定要重启mysql: # systemctl restart mysqld

在这里插入图片描述

本篇文章离线安装部分参考转自
https://blog.csdn.net/weixin_68547003/article/details/135058922?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522ec66008295d99bf66caceaa32bb9e629%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=ec66008295d99bf66caceaa32bb9e629&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-2-135058922-null-null.142%5Ev101%5Epc_search_result_base7&utm_term=CentOS7%E7%8E%AF%E5%A2%83%E4%B8%8B%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85MySQL5.7.18&spm=1018.2226.3001.4187https://blog.csdn.net/qq_36820328/article/details/79654278;
mysql服务器3306端口不能远程连接参考自
https://blog.csdn.net/qq_36820328/article/details/79654278%EF%BC%9B

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2308972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis 实战篇 ——《黑马点评》(下)

《引言》 &#xff08;下&#xff09;篇将记录 Redis 实战篇 最后的一些学习内容&#xff0c;希望大家能够点赞、收藏支持一下 Thanks♪ (&#xff65;ω&#xff65;)&#xff89;&#xff0c;谢谢大家。 传送门&#xff08;上&#xff09;&#xff1a;Redis 实战篇 ——《黑马…

蓝桥杯自我复习打卡

总复习&#xff0c;打卡1. 一。排序 1。选段排序 太可恶了&#xff0c;直接全排输出&#xff0c;一个测试点都没过。 AC 首先&#xff0c;这个【l,r】区间一定要包含p,或者q&#xff0c;pq一个都不包含的&#xff0c;[l,r]区间无论怎么变&#xff0c;都对ans没有影响。 其次&…

Java零基础入门笔记:(6)面向对象

前言 本笔记是学习狂神的java教程&#xff0c;建议配合视频&#xff0c;学习体验更佳。 【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili 第1-2章&#xff1a;Java零基础入门笔记&#xff1a;(1-2)入门&#xff08;简介、基础知识&#xff09;-CSDN博客 第3章…

【3天快速入门WPF】13-MVVM进阶

目录 1. 窗体设置2. 字体图标3. 控件模板4. 页面逻辑4.1. 不使用MVVM4.2. MVVM模式实现本篇我们开发一个基于MVVM的登录页面,用来回顾下之前学习的内容 登录页面如下: 窗体取消了默认的标题栏,调整为带阴影的圆角窗体,左侧放一张登录背景图,右边自绘了一个关闭按钮,文本框…

【MongoDB】在Windows11下安装与使用

官网下载链接&#xff1a;Download MongoDB Community Server 官方参考文档&#xff1a;https://www.mongodb.com/zh-cn/docs/manual/tutorial/install-mongodb-on-windows/#std-label-install-mdb-community-windows 选择custom类型&#xff0c;其他默认 注意&#xff0c;此选…

deepseek使用记录18——文化基因美食篇

子篇&#xff1a;薪火相传的味觉辩证法——从燧人氏到预制菜的文化突围 一、石器时代的启蒙&#xff1a;食物探索中的原始辩证法 在贾湖遗址的陶罐残片上&#xff0c;碳化稻米与蜂蜜的结晶层相互交叠&#xff0c;这是9000年前先民对"甘"与"饱"的首次辩证…

2025学年安徽省职业院校技能大赛 “信息安全管理与评估”赛项 比赛样题任务书

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷&#xff08;五&#xff09; 第一部分&#xff1a;网络平台搭建与设备安全防护任务书第二部分&#xff1a;网络安全事件响应、数字取证调查、应用程序安全任务书任务1 &#xff1a;内存取证&…

在 Ansys Maxwell 中分析磁场

在 Ansys Maxwell 中分析磁场 分析磁场的能力对于理解电磁系统至关重要。Ansys Maxwell 为工程师提供了强大的工具&#xff0c;帮助他们探索磁场数据并从中提取有价值的见解。在本指南中&#xff0c;我将深入研究 Ansys Maxwell 中的几种基本技术和方法&#xff0c;以有效地分…

DeepSeek FlashMLA:用技术创新破解大模型落地难题

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列十四DeepSeek大模型技术系列十四》DeepS…

[补充]原码、反、补、移码的转换

近期在学习Java的类型转换的知识&#xff0c;强制类型转换的时候会遇到数据&#xff08;丢失&#xff09;溢出的问题。 最后在IDEA控制台输出的时候&#xff0c;出现了负数。了解了一下强制类型转换在计算机中的原理&#xff0c;随后就复习了一下原码、反、补、移码的转换的知…

安装Node.js

1.打开官网&#xff0c;下载安装包 2.安装过程中&#xff0c;全部默认&#xff0c;next. 3.在安装根目录下&#xff0c;新建两个文件夹【node_cache】和【node_global】 4.检测是否安装成功 打开控制台&#xff0c;node -v, npm -v, 显示版本号。 5.配置环境变量 1>从no…

【力扣】堆相关总结

priority_queue std::priority_queue 是 C 标准库中的一个容器适配器&#xff0c;提供了堆&#xff08;Heap&#xff09;数据结构的功能。它通常用于实现优先队列&#xff0c;允许你高效地插入元素和访问最大或最小元素。 头文件 #include <queue> 基本定义 std::pri…

【前端基础】3、HTML的常用元素(h、p、img、a、iframe、div、span)、不常用元素(strong、i、code、br)

HTML结构 一个HTML包含以下部分&#xff1a; 文档类型声明html元素 head元素body元素 例&#xff08;CSDN&#xff09;&#xff1a; 一、文档类型声明 HTML最一方的文档称为&#xff1a;文档类型声明&#xff0c;用于声明文档类型。即&#xff1a;<!DOCTYPE html>…

【漫话机器学习系列】113.逻辑回归(Logistic Regression) VS 线性回归(Linear Regression)

逻辑回归 vs 线性回归&#xff1a;详解对比 在机器学习和统计学中&#xff0c;逻辑回归&#xff08;Logistic Regression&#xff09; 和 线性回归&#xff08;Linear Regression&#xff09; 都是非常常见的模型。尽管它们的数学表达式有一定的相似性&#xff0c;但它们的应用…

Redis---缓存穿透,雪崩,击穿

文章目录 缓存穿透什么是缓存穿透&#xff1f;缓存穿透情况的处理流程是怎样的&#xff1f;缓存穿透的解决办法缓存无效 key布隆过滤器 缓存雪崩什么是缓存雪崩&#xff1f;缓存雪崩的解决办法 缓存击穿什么是缓存击穿&#xff1f;缓存击穿的解决办法 区别对比 在如今的开发中&…

Skywalking介绍,Skywalking 9.4 安装,SpringBoot集成Skywalking

一.Skywalking介绍 Apache SkyWalking是一个开源的分布式追踪与性能监视平台&#xff0c;特别适用于微服务架构、云原生环境以及基于容器&#xff08;如Docker、Kubernetes&#xff09;的应用部署。该项目由吴晟发起&#xff0c;并已加入Apache软件基金会的孵化器&#xff0c;…

Thonny+MicroPython+ESP32开发环境搭建

1、下载&安装Thonny 安装成功后&#xff0c;会在桌面生成快捷键 双击快捷键&#xff0c;打开程序&#xff0c;界面如下 2、下载MicroPython 下载地址&#xff1a;MicroPython - Python for microcontrollers v1.19版(推荐&#xff0c;此版本稳定)&#xff1a; https://do…

数据结构:反射 和 枚举

目录 一、反射 1、定义 2、反射相关的类 3、Class类 &#xff08;2&#xff09;常用获得类中属性相关的方法&#xff1a; &#xff08;3&#xff09;获得类中注解相关的方法&#xff1a; &#xff08;4&#xff09;获得类中构造器相关的方法&#xff1a; &#xff08;…

前缀和算法 算法4

算法题中帮助复习的知识 vector<int > dp( n ,k); n为数组大小 ,k为初始化 哈希表unordered_map<int ,int > hash; hash.find(k)返回值是迭代器 ,找到k返回其迭代器 没找到返回hash.end() hash.count(k)返回值是数字 ,找到k返回1 ,没找到返回0. C和java中 负数…

USRP7440-通用软件无线电平台

1、产品描述 USRP7440基于第三代XILINX Zynq UltraScale RFSoC架构&#xff0c;它将射频ADC、DAC、ARM、FPGA等集成一体&#xff0c;瞬时带宽可以达到2.5GHz&#xff0c;尤其适合于射频直采应用&#xff0c;比如通信与雷达。 第一代RFSOC高达4GHz • 8x 或 16x 6.554GSPS DAC…