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

这次主要是讲解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/mysqltar 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.44chmod -R 775 mysql-5.7.44

6、创建data数据目录

#创建data目录,一般都是放在对应的解压文件夹里,也可以放在其他地方,我这就放在/usr/mysql/mysql-5.7.44下cd /usr/mysql/mysql-5.7.44mkdir 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 3306tcp        0      0 :::3306                     :::*                        LISTEN      - 
2)netstat -ntpl |grep 22tcp        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.rhkb.cn/news/27185.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA实战开源项目:安康旅游网站(Vue+SpringBoot) 附源码

本文项目编号 T 098 &#xff0c;文末自助获取源码 \color{red}{T098&#xff0c;文末自助获取源码} T098&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

三数之和_算法

1.题目描述 首先我们分析下这道题目:假设给我们一个数组,让数组某三个不同下标的数相加最终得0,那么我就返回这三个数.但是如果返回的多个数组中的元素相同,那么我们还要删掉其中一个保留一个. 注意:这道题的重点是三个数的下标不能相等并且返回的数组中的元素也不能相等,通过…

关于Deepseek本地部署硬件环境检查教程

要在电脑上本地部署DeepSeek&#xff0c;需要关注以下硬件和软件配置&#xff1a; 硬件配置 CPU&#xff1a;至少4核CPU&#xff0c;推荐Intel i5/i7或AMD Ryzen 5/7系列处理器。内存&#xff1a;至少8GB DDR4内存&#xff0c;推荐16GB DDR4内存&#xff0c;对于大型模型建议…

一周一个Unity小游戏2D反弹球游戏 - 移动的弹板(鼠标版)

前言 本文将实现控制弹板移动,通过Unity的New Input System,可以支持鼠标移动弹板跟随移动,触控点击跟随移动,并且当弹板移动到边界时,弹板不会移动超过边界之外。 创建移动相关的InputAction 项目模版创建的时候默认会有一个InputAction类型的文件,名字为InputSystem_Ac…

250302-绿联NAS通过Docker配置SearXNG及适配Open-WebUI的yaml配置

A. 配置Docker中的代理 绿联NAS简单解决docker无法获取镜像-不用软路由 - 哔哩哔哩 B. 下载官网对应的镜像 群晖NAS用docker搭建SearXNG元搜索引擎_哔哩哔哩_bilibili C. 修改默认省略的参数&#xff0c;只配置Base_URL&#xff0c;删除其它默认的空缺项 searxng-docker/REA…

C++-第十九章:异常

目录 第一节&#xff1a;异常有哪些 第二节&#xff1a;异常相关关键字 2-1.抛出异常 2-2.捕获异常 2-3.异常的捕获规则 2-3-1.异常被最近的catch捕获 2-3-2.catch捕获的是异常的拷贝 2-3-3.异常为子类时&#xff0c;可以用父类引用接收 2-4.捕获任意异常 第三节&#xff1…

Redis详解(实战 + 面试)

目录 Redis 是单线程的&#xff01;为什么 Redis-Key(操作redis的key命令) String 扩展字符串操作命令 数字增长命令 字符串范围range命令 设置过期时间命令 批量设置值 string设置对象,但最好使用hash来存储对象 组合命令getset,先get然后在set Hash hash命令: h…

‘ts-node‘ 不是内部或外部命令,也不是可运行的程序

新建一个test.ts文件 let message: string = Hello World; console.log(message);如果没有任何配置的前提下,会报错’ts-node’ 不是内部或外部命令,也不是可运行的程序。 此时需要安装一下ts-node。 npm install

(十 五)趣学设计模式 之 命令模式!

目录 一、 啥是命令模式&#xff1f;二、 为什么要用命令模式&#xff1f;三、 策略模式的实现方式四、 命令模式的优缺点五、 命令模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;可以多多支…

基于单片机的智能扫地机器人

1 电路设计 1.1 电源电路 本电源采用两块LM7805作为稳压电源&#xff0c;一块为控制电路和传感器电路供电&#xff0c;另一块单独为电机供电。分开供电这样做的好处&#xff0c;有利于减小干扰&#xff0c;提高系统稳定性。 LM7805是常用的三端稳压器件&#xff0c;顾名思义0…

【Redis学习】Redis Docker安装,自定义config文件(包括RDB\AOF setup)以及与Spring Boot项目集成

【本文内容】 第1章&#xff1a;通过Docker安装Redis&#xff0c;并自定义config文件以及mount data目录。第2章&#xff1a;介绍Redis持久化到磁盘&#xff0c;有4种方式&#xff1a;RDB / AOF / NONE / RDB AOF。第3章&#xff1a;使用Server自带的redis-cli工具连接。第4章…

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

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

PHP实现登录和注册(附源码)

前言 本博客主要讲述利用php环境实现一个简单的前后端结合的用户登录和注册功能。phpstudy是PHP调试环境的集成包&#xff0c;该程序包集成了 ApachePHPMySQLphpMyAdmin 等多个工具&#xff0c;是很好用的调试环境的程序集成包。 目录 前言 1. 准备工作 1.1 工具 1.2 php…

Redis数据结构-List列表

1.List列表 列表类型适用于存储多个有序的字符串&#xff08;这里的有序指的是强调数据排列顺序的重要&#xff0c;不是升序降序的意思&#xff09;&#xff0c;列表中的每个字符串称为元素&#xff08;element&#xff09;&#xff0c;一个列表最多可以存储2^32-1个元素。在R…

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

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

WordPress二次开发实现用户注册审核功能

WordPress默认直接注册登录了&#xff0c;不需要任何验证&#xff0c;如果被批量注册就麻烦了&#xff0c;所以添加一个审核功能比较好。 注册用户默认需要手动审核&#xff0c;审核以后才能登陆&#xff0c;开启审核&#xff0c;可以有效防止用户批量注册。 这儿讲解一下如何…

基于SpringBoot的“青少年心理健康教育网站”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“青少年心理健康教育网站”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体结构图 实体属性图 系统首页界…

湖仓一体概述

湖仓一体之前&#xff0c;数据分析经历了数据库、数据仓库和数据湖分析三个时代。 首先是数据库&#xff0c;它是一个最基础的概念&#xff0c;主要负责联机事务处理&#xff0c;也提供基本的数据分析能力。 随着数据量的增长&#xff0c;出现了数据仓库&#xff0c;它存储的是…

React:B站评论demo,实现列表渲染、删除按钮显示和功能实现、导航栏渲染切换及高亮显示、评论区的排序

功能要求&#xff1a; 1、渲染评论列表 2、删除评论功能&#xff1a;只显示自己评论的删除按钮&#xff1b;点击删除按钮&#xff0c;删除当前评论&#xff0c;列表中不再显示。 3、渲染导航Tab&#xff08;最新 | 最热&#xff09;和其 高亮实现 4、评论排序功能实现&…

springboot系列教程(三十一):springboot整合Nacos组件,环境搭建和入门案例详解

一、Nacos基础简介 1、概念简介 Nacos 是构建以“服务”为中心的现代应用架构&#xff0c;如微服务范式、云原生范式等服务基础设施。聚焦于发现、配置和管理微服务。Nacos提供一组简单易用的特性集&#xff0c;帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管…