当前位置: 首页 > news >正文

msyql--基本操作之运维篇

检查 root 用户的权限

查看该用户针对这个数据库的权限

-- 如果在终端连接mysql时需要
mysql -u root -p  
-- 查看用户权限
SELECT user, host FROM mysql.user WHERE user = 'root';

在这里插入图片描述
可以看的出来root有他的访问权限,如过没有localhost或者% 说明没有访问权限

添加权限

数据库权限包括:
SELECT:允许用户读取数据。
INSERT:允许用户插入数据。
UPDATE:允许用户更新数据。
DELETE:允许用户删除数据。
CREATE:允许用户创建数据库和表。
DROP:允许用户删除数据库和表。
ALTER:允许用户修改表结构。
INDEX:允许用户创建或删除索引。
EXECUTE:允许用户执行存储过程。
FILE:允许用户在服务器上读写文件。
GRANT OPTION:允许用户授予或撤销其他用户的权限。

如果需要如果允许所有机器那么用%,可以执行如下语句添加权限

分配权限语句:
GRANT 权限列表 ON 数据库.表 TO ‘用户名’@‘主机’;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

执行了GRANT语句后,你需要使用FLUSH PRIVILEGES;命令来使权限更改立即生效(尤其是在直接编辑MySQL的授权表后):

FLUSH PRIVILEGES;

重置root 密码

停止 MySQL 服务

sudo systemctl stop mysql

以安全模式启动 MySQL

sudo mysqld_safe --skip-grant-tables &

登录 MySQL(无需密码)

mysql -u root

重置 root 密码

USE mysql;
UPDATE user SET authentication_string=PASSWORD(‘new_password’) WHERE User=‘root’;
FLUSH PRIVILEGES;
EXIT;

重启 MySQL 服务

sudo systemctl restart mysql

root 用户已经允许从任意主机(%)和本地(localhost)登录,但仍然无法远程连接,

防火墙配置

检查服务器防火墙
确保服务器的防火墙允许 MySQL 端口(默认是 3306)的入站连接。例如
如果使用 ufw(Ubuntu):
sudo ufw allow 3306/tcp
如果使用 firewalld(CentOS):
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
检查云服务器安全组
如果使用云服务器(如 AWS、阿里云等),确保安全组规则允许从远程 IP 地址访问 MySQL 端口(3306)

MySQL 配置问题

检查 bind-address 配置
1、MySQL 默认只监听本地地址(127.0.0.1),需要修改配置以允许远程连接。
2、打开 MySQL 配置文件(通常是 /etc/my.cnf 或 /etc/mysql/my.cnf)。
找到 bind-address 配置项,将其改为 0.0.0.0(监听所有网络接口)或服务器的公网 IP 地址

[mysqld]
bind-address = 0.0.0.0
#保存文件并重启 MySQL 服务
sudo systemctl restart mysql

检查 skip-networking 配置
确保 MySQL 配置文件中没有启用 skip-networking。如果存在该配置项,将其注释或删除
#skip-networking

查看mysql服务的端口

默认端口一般是:3306

windows系统:
SHOW VARIABLES LIKE ‘port’;

Linux下常见配置文件位置:

/etc/my.cnf

/etc/mysql/my.cnf

/usr/local/mysql/etc/my.cnf

~/.my.cnf

Linux下使用命令行工具输入命令:
netstat -tlnp | grep mysqld 或者 ss -tlnp | grep mysqld


http://www.mrgr.cn/news/95970.html

相关文章:

  • 【JavaSE】抽象类和接口
  • uniapp页面列表,详情返回不刷新,新增或编辑后返回刷新
  • mysql中show命令的使用
  • NodeJs之fs模块
  • 【408--复习笔记】计算机组成原理
  • 【模型压缩+推理加速】知识蒸馏综述解读
  • 嵌入式硬件工程师从小白到入门-原理图(三)
  • ofd转pdf报错:org.ofdrw.reader.ZipUtil.unZipFileByApacheCommonCompress【已解决】
  • 语言模型理论基础-持续更新-思路清晰
  • Vue 2 探秘:visible 和 append-to-body 是谁的小秘密?
  • Brainstorm绘制功能连接图(matlab)
  • vue - [Vue warn]: Duplicate keys detected: ‘0‘. This may cause an update error.
  • 第六篇:Setup:组件渲染前的初始化过程是怎样的?
  • 【Linux】交叉编译2
  • OpenCV图像拼接(5)图像拼接模块的用于创建权重图函数createWeightMap()
  • 嵌入式硬件工程师从小白到入门-PCB绘制(二)
  • 进程通信(进程池的模拟实现) read write函数复习 Linux ─── 第23课
  • 数据结构day04
  • python康复日记-request库的使用,爬虫自动化测试
  • 26考研——图_图的存储(6)