首页
学习
活动
专区
圈层
工具
发布

改变mysql的端口号

基础概念

MySQL是一种关系型数据库管理系统,它使用TCP/IP协议进行通信。默认情况下,MySQL服务器监听3306端口。改变MySQL的端口号意味着将服务器配置为监听不同的端口,以便客户端可以通过新的端口连接到数据库。

相关优势

  1. 安全性:通过更改默认端口,可以减少对MySQL服务器的自动化攻击,因为许多攻击脚本会尝试默认端口。
  2. 避免端口冲突:在某些环境中,默认端口可能已经被其他服务占用,更改端口可以避免冲突。
  3. 特定访问控制:通过更改端口,可以更精细地控制哪些IP地址或网络可以访问数据库。

类型

改变MySQL端口号主要涉及两种类型:

  1. 临时更改:在MySQL服务器运行时更改端口,这种更改仅在当前会话有效。
  2. 永久更改:通过修改MySQL配置文件(通常是my.cnf或my.ini),使更改在服务器重启后仍然有效。

应用场景

  • 安全性增强:在企业环境中,为了防止默认端口的攻击,管理员可能会更改MySQL的端口号。
  • 端口冲突解决:当默认端口被其他服务占用时,可以通过更改MySQL端口来解决冲突。
  • 特定访问需求:在某些情况下,可能需要通过特定端口来访问数据库,以满足特定的访问控制需求。

如何更改MySQL端口号

临时更改

在MySQL命令行中执行以下命令:

代码语言:txt
复制
SET GLOBAL port = 3307;

这将使MySQL服务器临时监听3307端口。

永久更改

  1. 编辑配置文件:
    • 在Linux上,通常是/etc/mysql/my.cnf或/etc/my.cnf。
    • 在Windows上,通常是C:\Program Files\MySQL\MySQL Server X.X\my.ini。
    • 找到[mysqld]部分,添加或修改以下行:
    • 找到[mysqld]部分,添加或修改以下行:
  • 重启MySQL服务:
    • 在Linux上,可以使用以下命令:
    • 在Linux上,可以使用以下命令:
    • 在Windows上,可以通过服务管理器重启MySQL服务。

可能遇到的问题及解决方法

  1. 端口已被占用:
    • 使用netstat或lsof命令检查端口是否被占用。
    • 如果端口被占用,选择一个未被占用的端口并重新配置。
  • 防火墙问题:
    • 确保防火墙允许新的端口号通过。
    • 在Linux上,可以使用iptables或firewalld命令配置防火墙规则。
    • 在Windows上,可以通过Windows防火墙设置允许新的端口。
  • 客户端连接问题:
    • 确保客户端连接时使用新的端口号。
    • 更新应用程序的配置文件或代码中的数据库连接字符串。

参考链接

通过以上步骤,你可以成功更改MySQL的端口号,并解决可能遇到的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MySQL【知识改变命运】03

前言:我们先了解一个知识: MySQL安装后会有MySQL服务——管理多个库——每个库管理多个表——每个表管理多行数据——数据行由多个列组成———列的描述用到的数据类型 1:查看所有表 语法: show...⽤来存储真实数据的物理⽂件,命名格式为 表名.ibd ,以当前为例会在 java01 ⽬录下⽣成⼀个 ones.ibd 的数据 ⽂件 • 创建⼀个存储引擎为 MyISAM 的表时,会在对应的数据库⽬...录下分别⽣成三个以不同后缀名结尾的⽂件,分别是 表名.MYD ( MYData )的数据⽂件, 表名.MYI ( MYIndex ) 的索引⽂件,以表名.sdi 的表信息描述⽂件(JSON格式) 在8.0...以前的版本中表信息描述⽂件是以.frm为后缀的⼆进制⽂件 3:查看表结构 语法: desc 表名; Field:表中的列名 • Type:列的数据类型 • Null:该列的值是否允许为Null...表名; 4:修改表 在项⽬的实际开发中,随着版本的迭代和需求的变更,经常会对表结构进⾏调整,⽐如向现有表中添加列,删除列,或者修改某列的列名、数据类型或⻓度,这时就需要对表进⾏修改操作。

52910

MySQL【知识改变命运】01

⾔,⽤来维护存储数据的结构(库和表级别的) 代表指令: create(创建), drop(删除), alter(改变,改动) • DML【Data Manipulation Language】 数据操纵语...:数据库是否加密,MySQL 8.0.16中引⼊的新选项 1:创建一个diayang库 我们再次创建就会出错,因为苦库中已经有一个代名为daiyang的库了 2: ⾃定义⼀个数据库名,如果数据库不存则创建...默认的字符集编码是 utf8mb4 ,MySQL5.7默认的字符集是 latin1 4.2:查看数据库⽀持的排序规则 show collation; MySQL8.0默认的排序规则是 utf8mb4..._0900_ai_ci , MySQL5.7默认排序规则是 utf8mb4_general_ci 4.3不同的字串集与排序规则对数据库的影响 • utf8mb4_0900_ai_ci 是MySQL8.0...80016 DEFAULT…/ 这个不是注释,表⽰当前mysql版本⼤于4.01和 8.0.16时,分别执⾏对应的语句 创建一个名为database的数据库怎么创建呢?

54710
  • MySQL【知识改变命运】06

    前言:在05这节数据结构里面,我们知道select * from 这个操作很危险,如果数据库很大,会把服务器资源耗尽,接下来提到的查询可以有效的限制返回记录 1:分页查询 分页查询可以有效控制一次查询出来的结果集的记录条数...将曹孟德同学的数学成绩变更为 60 分,语⽂成绩变更为 70 分 将总成绩前三的 3位同学的数学成绩加上 10 分 原表数据 排名 修改: 修改成功后查询 将所有同学的语...SELECT ... 6.2:练习: 删除表中的重复记录,重复的数据只能有⼀份 创建一个表 **实现思路:**原始表中的数据⼀般不会主动删除,但是真正查询时不需要重复的数据,如果每次查询 都使⽤...将去重的数据放入新表中: 7:聚合函数 7.1:语法 COUNT([DISTINCT] expr) 返回查询到的数据的 数量 SUM([DISTINCT] expr) 返回查询到的数据的 总和,不是数字没有意义...AVG([DISTINCT] expr) 返回查询到的数据的 平均值,不是数字没有意义 MAX([DISTINCT] expr) 返回查询到的数据的 最⼤值,不是数字没有意义 MIN([DISTINCT

    56410

    MySQL【知识改变命运】04

    创建一个实例表: 1.1.1单⾏数据全列插⼊ values_list中的值必须与列的数量和顺序一致; 错误示范: 1.1.2单⾏数据指定列插⼊ values_list中的值必须与指定列的数量和顺序一致...,因为在实际情况中,数据量是非常大的,每个查询都会消耗大量的网络开销和磁盘开销,如果不加以限制会把服务器资源吃完,如果拆卸那种不加以限制,就会返回所有的查询记录。...列名] from 表名; 查询的列的顺序和真实表中的列顺序没有要求。...去重时,只有查询列表中所有列的值都相同才会判定为重复 注意: 查询时不加限制条件会返回表中所有结果,如果表中的数据量过⼤,会把服务器的资源消耗殆尽 在⽣产环境不要使不加限制条件的查询 这种情况必须...,⽐如NULL = NULL结果还是NULL 等于,对于NULL的⽐较j是安全的,⽐如NULL NULL结果是TRUE(1) !

    59610

    MySQL【知识改变命运】10

    这时候就用到了联合查询 2:联合查询就是多个表的组合查询,一次查询涉及两张或则两张以上的表,成为联合查询 1.联合查询在MySQL里面的原理 参与查询的所有表笛卡尔积,结果集在临时表中 实例:创建两张表...确定连接条件,student表中的class_id与class表中id列的值相等 连接条件,student表中的class_id与class表中id列的值相等 # 在where⼦句中加⼊连接条件 mysql...id列,不指定表名时MySQL无法分清要使用那张表的id列。...外连接 • 外连接分为左外连接、右外连接和全外连接三种类型,MySQL不⽀持全外连接。 • 左外连接:返回左表的所有记录和右表中匹配的记录。...mysql> select * from score s1, score s2; 5.2.显⽰所有"MySQL"成绩⽐"JAVA"成绩⾼的成绩信息 首先分为两步进行,先要找到课程的id,java是1,

    53810

    MySQL【知识改变命运】12

    1:什么是视图 视图是一张虚拟的表 视图是基于一个或者多个基表或者其他视图查询的结果集 视图本身不占有物理内存,也不存储数据,只是根据查询执行来动态生成数据。...用户对普通表的操作(查询,更新,删除)也可以在视图里面操作。...view_name [(column_list)] AS select_statement create view//创建视图关键词 view_name// 视图名 column_list//视图包含的列...查询也在表集合里面 我们可以用视图直接查询 查询视图结构 使用视图(视图的好处) 2.1.隐藏敏感字段 举例:查询⽤⼾的姓名和总分,(隐藏学号和各科成绩 # 使⽤真实表进⾏查询 select...有无视图是基于真实表的 4:修改视图数据 4.1:通过真实表修改数据,会影响视图 因为视图本质是依赖于真实表的 4.2:通过视图修改数据会影响基表 但是一下情况,无法使用修改视图 修改真实表会影响视图

    50010

    MySQL【知识改变命运】05

    1:where的基本用法练习(比较运算符) 基本操作:查询英语的同学 如果english为NULL,会自动过滤掉,NULL比较特殊 查询语⽂成绩⾼于英语成绩的同学 这个过程:先读取表中每行记录...,然后把where 条件进行筛选,然后把符合条件的记录放在临时表中,最终返回给客户端; 总分在 200 分以下的同学 我们都知道可以给列改名 那如果我们用修改后的别名作为条件可以使用吗?...where语句是不能用别名当作过滤条件: 因为第一步:from 找到这个表 第二步:定位符合条件的数据行 where 第三步:根据过滤后的结果集中抽取要显示的列,表达式 所有在执行where字句时...所有语文成绩不为NULL的同学,按语⽂成绩从⾼到低排序 注意 • 查询中没有ORDER BY ⼦句,返回的顺序是未定义的,永远不要依赖这个顺序 • ORDER BY ⼦句中可以使⽤列的别名进...⾏排序 • NULL 进⾏排序时,视为⽐任何值都⼩,升序出现在最上⾯,降序出现在最下⾯ 补充的一些话:在数据库里面如果没有order by子句 或着 主键 就不会进行排序,虽然mysql底层会进行类似的排序

    65510

    MySQL【知识改变命运】07

    1.2:练习 创建一个表 统计每个⻆⾊的⼈数 以role分为四组,对每组进行统计运算 注意: 分组后:查询列表中的列必须在group by子句中也有,如果否则的话会提示错误,因为显示分组中的那个行的数据都不合适...统计每个⻆⾊的平均⼯资,最⾼⼯资,最低⼯资 2:having⼦句 找到平均工资大于1万的角色 这个我们如何编写?...使⽤GROUP BY 对结果进⾏分组处理之后,对分组的结果进⾏过滤时,不能使⽤ WHERE ⼦句,⽽要使⽤ HAVING ⼦句 Having 与Where 的区别 • Having ⽤于对分组结果的条件过滤...col_name | expr } [ASC | DESC], ... ] [LIMIT {[offset,] row_count | row_count OFFSET offset}] 3:内置函数 MySQL...内部实现好一些函数,可以拿来直接用,但是我们要注意的是,一般对于数据处理的问题,在应用程序中完成,不要放在数据库里面处理。

    50910

    MySQL【知识改变命运】09

    定义 数据库的每一列都是不可再原子项,不可以是集合,数组,对象的非原子数据。 在关系型数据库种,满足第一范式是关系型数据库的基本要求,不满足第一范式的数据库就不能被称为关系型数据库。 1.1.2....候选键:可以唯⼀标识⼀⾏数据的列或列的组合,可以从候选键中选⼀个或多个当做表的主键 1.2.2....不满⾜第⼆范式时可能出现的问题 数据冗余 学⽣的姓名、年龄、性别和课程的学分在每⾏记录中重复出现,造成了⼤量的数据冗余。...更新异常 如果要调整MySQL的学分,那么就需要更新表中所有关于MySQL的记录,⼀旦执⾏中断导致某些记录更新成功,某些数据更新失败,就会造成表中同⼀⻔课程出现不同学分的情况,出现数据不⼀致问题。...设计过程 从现实业务中抽象得到概念类 概念类是从现实世界中抽象出来的,在需求分析阶段就需要确定下来 ◦ 类对应了数据库设计中的实体,实体对应了数据库中的表 ◦ 类中的属性对应实体中的属性,实体的属性对应了表中的列

    65610

    MySQL【知识改变命运】11

    数据 • ⽰例:查询与"不想毕业"同学的同班同学 mysql> select * from student where class_id = (select class_id from student...过滤掉不想毕业这位同学的记录 6.3 多⾏⼦查询 嵌套的查询中返回多⾏数据,使⽤[NOT] IN关键字 • ⽰例:查询"MySQL"或"Java"课程的成绩信息 select * from...`name`='MySQL' or name='java' ); 确定参与查询的表: 课程表,成绩表。...先查询课程表中的课程信息 通过课程编号在分数表里中查询对应的分数 合并成子查询的方式 再查询不包括mysql和java的成绩 6.4 多列⼦查询 单⾏⼦查询和多⾏⼦查询都只返回⼀列数据,多列⼦查询中可以返回多个列的数据...⽤⼦查询 当⼀个查询产⽣结果时,MySQL⾃动创建⼀个临时表,然后把结果集放在这个临时表中,最终返回 给⽤⼾,在from⼦句中也可以使⽤临时表进⾏⼦查询或表连接操作 • ⽰例:查询所有⽐"Java001

    57310

    MySQL【知识改变命运】02

    注意的一些事项: 1:DECIMAL是实际如何存储数据的 比如这段数字,首先会统计这串数字大概有多少位,然后用两个int型把整数部描述清楚,然后用三个int型把小数部位描述清楚,然后最后的剩下的位数用较小的数据类型描述清楚...M 是元素字符⻓度, w 是字符集中字符所需的最⼤字节数• SET值在内部表⽰为整数 注意的一些事项: 1:所用的字节数=字符格式*每个字符编码集表示一个字符所用的字节数 2:关于排序 • 字符串类型的列以字符为单位...,在存储时总是⽤空格向右填充到指定的⻓度,获取列的值时会从尾部删除空格。...允许定义 CHAR(0),此时列的值只能为NULL或空字符串,主要的⽬的是为了旧系兼容,⽐如类中必须有这个 属性,但不使⽤这个属性的值,也就是说值并没有意义,但列⼜不能没有。...,提升查询性能; TEXT 类型的列⽆法直 接创建普通索引,但可以使⽤ FULLTEXT 索引,由于索引的⽀持和存储位置的不同, VARCHAR 列的性能⾼于 TEXT 类型的列 • 适⽤场景:如果存储的数据

    50410

    MySQL【知识改变命运】08

    数据库约束是关系型数据库的一个重要约束 主要保证数据插入的有效性(数据本身是否正确,关联关系是否正确) 人工检查数据工作量太大了,在数据库中定义一些约束,那么数据在写入数据库时候,就会帮助我们做一些检查...UNIQUE 唯一约束 指定唯一约束的列,这条列上面不能出现相同的值 FRIMARY KEY 主键约束 NOT NULL和UNIQUE的结合,可以指定一个或者多个列(复合主键),但是只能有一个主键,有助于数据的查询...5:FOREIGN KEY 外键约束 外键⽤于定义主表和从表之间的关系 外键约束主定义在从表的列上,主表关联的列必须是主键或唯⼀约束 当定义外键后,要求从表中的外键列数据必须在主表的主键或唯⼀列存在或为...MUL表⽰外键约束的列 正常插⼊数据 插⼊⼀个班级号为100的学⽣,由于主表中没有这个班级,插⼊失败 插⼊班级Id为NULL的记录,可以成功,表⽰当前学⽣还没有分配置班级...⼊默认值,如果没有为列设置值,那么会将默认值设置到该列 语法: DEFALUT 默认值 7:CHECK 约束 可以应⽤于⼀个或多个列,⽤于限制列中可接受的数据值,从⽽确保数据的完整性和准确性。

    73310

    Windows10系统下查看mysql的端口号并修改的教程图解

    本文通过图文并茂的形式给大家介绍了Windows10系统下查看mysql的端口号并修改的方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧 mysql的端口号默认是3306,初学者可能有时会忘记或者之前修改了默认的端口号...,忘记了,或者很多时候我们一台电脑需要安装两个mysql或者想设置一个自己的喜欢的数字,那么接下来我们来看看如何查看或者修改mysql现有的端口号; 同时点击或者依次win+R打开运行界面输入cmd或者在开始菜单的搜索框输入...cmd 如图所示 打开DOS界面后 通过输入命令进入 安装目录下的bin文件夹 如图所示 输入如图所示的命令行 mysql这个是服务名哦 如果安装版的就是mysqld如果解压版的就是自己设置的哦 输入密码进入...键入查询端口号命令行 如图所示 然后你会看到端口号 然后我们打开安装目录文件夹下的my.ini 配置文件 找到如图所示的项 修改你想要的端口号 保存(这个也是很简单的查看当前端口号的方法哦) 然后打开计算机管理界面的服务...找到服务项后点击重启选项 重启完毕后 重新进入大家可以看到 我这次进入的命令行和之前不一样 那是因为端口号不是默认的了 需要在这里指定 然后同样的方法 你会看到端口号已经改变了 下面看下查看mysql

    12.4K00

    MySQL【知识改变命运】复习前1~11

    登录 mysql -uroot -p > 2. 查看当前数据库的版本 select version(); > 3. 显示所有数据库 show databases; > 4....,但是可以为NULL 3.主键约束: PRIMARY KEY 在校验的方式上相当于NOT NULL 与UNIQUE 的组合,建议为每张表中定义自增主键 4.外键约束:FOREIGN KEY 一个表中的字段与另一个表中的主键或者唯一键建立关联关系...对当前列的值合法性的进行检查,在8.0中才生效,5.7版本允许定义但是不生效 5:表的设计 三大范式 第一范式:要求表中的每一列都是不可再分,用SQL语言中提供的简单数据类型可以描述字段即可,不满足第一范式的数据库就不能成为关系型数据库...1.先计算参与表连接的笛卡尔积 2.通过连接条件过滤无效的数据 3.加入查询条件得到想要的结果行 4.精减列名得到最终想要的查询结果集 2.外连接,分为左连接和右连接 select * from...,左表中的数据全部显示,右表中没有对应的记录则用NULL填充 右外连接以right join 右边的表为基表,右表中的数据全部显示,左表中没有对应的记录则用NULL填充 主要应用在两张表数据不一致的场景里

    66310

    史上最全的网络端口号大全

    HTTPS) 1863----MSN通信端口 109----邮局协议 v.2(POP2) 110----邮局协议v.3(POP3) 995----安全邮局协议v.3(POP3S) 143----交互式的邮件访问...(IMAP) 993----安全交互式的邮件访问协议(IMAPS) 25----简单邮件传输协议(SMTP) 465----特别注意:ISA/TMG中安全简单邮件传输协议(SMTPS),在Exchange...5355----本地链接多播名称解析 7----回显协议(TCP/UDP) 135----用于发布 Exchange 服务器以便从外部网络进行 RPC 访问的协议。...(SIP) 5061----SIP over TLS - 用于建立 VOIP 和 IM 会话的加密出站协议。(SIPS) 1080----允许客户端服务器应用程序使用网络防火墙的服务的协议。...(WCF) 以上是Windows系统下的一些端口号,如果有不全的欢迎补充。

    4K50

    Whats up MYSQL 8 在性能设计上的改变(redo log)

    MYSQL 8 的在性能上的设计在MYSQL 的历史上是具有突破性的,也是从底层的架构上进行的改变,可能未来MYSQL 越来越不像原来的MYSQL,长远看MYSQL 是朝着企业和互联网通吃的方向去的,其实...MYSQL本身的设计和其他的数据库相比是有差距的,例如doublewrite对性能的损耗,以及在RR上的GAP 其实可能对有些其他数据库的使用者都是吐槽的对象。...而从MYSQL 8 上的新设计上来看,REDO LOG (WAL)的设计是进行改变了,这也是为什么会期盼MYSQL8 的声音很多的原因之一。...(个人觉得和MTS 的部分有类似的想法) 多线程的操作中,单个线程有自己的内部锁保证刷新的顺序,但和之前的设计不同的地方是不再以LSN 号作为一个刷新的顺序。...下图就是一个(粗糙)的解释,上面是原先MYSQL的设计,下面是MYSQL8 的设计,如果从时间的角度来看,MYSQL8 的redo 刷新的设计是要节省时间的(如果长度代表时间的话) 而最终造成的效果就是

    75820

    OAuth的改变

    去年我写过一篇《OAuth那些事儿》,对OAuth做了一些简单扼要的介绍,今天我打算写一些细节,以阐明OAuth如何从1.0改变成1.0a,继而改变成2.0的。...OAuth1.0 在OAuth诞生前,Web安全方面的标准协议只有OpenID,不过它关注的是验证,即WHO的问题,而不是授权,即WHAT的问题。...很容易想到的做法是使用内嵌浏览器,说它是个错误的做法或许有点偏激,但它至少是个对用户不友好的做法,因为一旦浏览器内嵌到程序里,那么用户输入的用户名密码就有被监听的可能;对用户友好的做法应该是打开新窗口,...为了屏蔽此类问题,Service Provider需要强制开发者必须预定义回调地址:如果预定义的回调地址是URL方式的,则需要验证请求中的回调地址和预定义的回调地址是否主域名一致;如果预定义的回调地址是...为了弥补这些短板,OAuth2.0做了以下改变: 首先,去掉签名,改用SSL(HTTPS)确保安全性,所有的token不再有对应的secret存在,这也直接导致OAuth2.0不兼容老版本。

    1.4K20
    领券