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

linux安装Mysql后添加mysql的用户和密码

在 MySQL 中创建用户并设置密码的完整指南如下:

方法 1:使用 CREATE USER 语句(推荐)

-- 创建新用户并设置密码
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'your_password';-- 授予权限(示例:授予所有数据库的所有权限)
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;-- 刷新权限使更改生效
FLUSH PRIVILEGES;

方法 2:使用 GRANT 语句(旧版方式)

-- 创建用户并授权(MySQL 5.7及以下)
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost'
IDENTIFIED BY 'your_password'
WITH GRANT OPTION;FLUSH PRIVILEGES;

注意:MySQL 8.0+ 已弃用此语法,推荐使用方法1


详细操作步骤

  1. 登录 MySQL

    mysql -u root -p
    
  2. 创建用户

    -- 创建本地访问用户
    CREATE USER 'xuehaiyang'@'localhost' IDENTIFIED BY 'StrongPassword123!';-- 创建远程访问用户
    CREATE USER 'xuehaiyang'@'%' IDENTIFIED BY 'RemotePass456!';
    
  3. 授予权限

    -- 授予所有数据库的完整权限
    GRANT ALL PRIVILEGES ON *.* TO 'xuehaiyang'@'localhost';-- 授予特定数据库权限
    GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'xuehaiyang'@'%';
    
  4. 刷新权限

    FLUSH PRIVILEGES;
    
  5. 验证用户

    -- 查看用户列表
    SELECT user, host FROM mysql.user;-- 查看用户权限
    SHOW GRANTS FOR 'xuehaiyang'@'localhost';
    

修改用户密码

-- 方法1:ALTER USER (MySQL 5.7.6+)
ALTER USER 'xuehaiyang'@'localhost' IDENTIFIED BY 'NewPassword789!';-- 方法2:SET PASSWORD
SET PASSWORD FOR 'xuehaiyang'@'%' = PASSWORD('NewRemotePass!');-- 方法3:UPDATE系统表(不推荐)
UPDATE mysql.user SET authentication_string = PASSWORD('newpass') 
WHERE user = 'xuehaiyang' AND host = 'localhost';
FLUSH PRIVILEGES;

用户管理常用命令

操作命令
查看所有用户SELECT user, host FROM mysql.user;
删除用户DROP USER 'username'@'host';
重命名用户RENAME USER 'old'@'host' TO 'new'@'host';
锁定用户ALTER USER 'user'@'host' ACCOUNT LOCK;
解锁用户ALTER USER 'user'@'host' ACCOUNT UNLOCK;

安全最佳实践

  1. 使用强密码:至少12位,包含大小写字母、数字和特殊符号

    CREATE USER 'secureuser'@'localhost' 
    IDENTIFIED BY 'J5$tg!8xLp2qYb';
    
  2. 最小权限原则

    -- 只授予必要权限
    GRANT SELECT, INSERT ON sales.* TO 'reports'@'10.0.0.%';
    
  3. 限制访问来源

    -- 只允许特定IP段访问
    CREATE USER 'remote'@'192.168.1.%' IDENTIFIED BY 'password';
    
  4. 定期更新密码

    -- 设置密码过期策略
    ALTER USER 'user'@'host' PASSWORD EXPIRE INTERVAL 90 DAY;
    
  5. 使用加密连接

    -- 要求SSL连接
    CREATE USER 'secure'@'%' 
    IDENTIFIED BY 'password'
    REQUIRE SSL;
    

连接测试

# 本地连接测试
mysql -u xuehaiyang -p -h localhost# 远程连接测试(需开启远程访问)
mysql -u xuehaiyang -p -h server_ip

注意:远程连接需要确保 MySQL 配置允许远程访问(修改 bind-address 和防火墙设置)

http://www.dtcms.com/a/289446.html

相关文章:

  • 负的 Content-Length 问题解析与修复方案
  • Claude Code 逆向工程分析,探索最新Agent设计
  • 超参数消融
  • Kafka 在分布式系统中的关键特性与机制深度解析
  • 多任务学习AITM算法简介
  • 虚拟机动态IP配置
  • MongoDB多节点集群原理 -- 复制集
  • 玄机——第六章 流量特征分析-蚂蚁爱上树
  • c语言进阶 自定义类型 (结构体 位段)
  • LWJGL教程(3)——时间
  • 【OD机试】池化资源共享
  • 30天打牢数模基础-K近邻(KNN)讲解
  • `/etc/samba/smb.conf`笔记250719
  • 【1】计算机视觉方法(更新)
  • Spring Boot 自动装配用法
  • Spring AI 聊天记忆
  • InfluxDB 核心概念与发展历程全景解读(一)
  • 定点小数与分数
  • Laravel 框架NOAUTH Authentication required 错误解决方案-优雅草卓伊凡
  • Leetcode 124. 二叉树中的最大路径和
  • 面向对象基础笔记
  • 提升H7-TOOL自制nRF54L15脱机烧写算法文件速度,1MB程序仅需11秒,并且支持了UICR编程
  • C++23中的std::expected:异常处理
  • 以“融合进化 智领未来”之名,金仓Kingbase FlySync:国产数据库技术的突破与创新
  • SpringBoot集成Skywalking链路跟踪
  • CAN通讯理论与实践:调试和优化全讲解
  • 20250720-2-Kubernetes 调度-资源限制对Pod调度的影响(1)_笔记
  • 基于深度学习的目标检测:从基础到实践
  • 尚庭公寓--------登陆流程介绍以及功能代码
  • 常见的离散积分方法