linux安装mysql,超级详细,不踩坑

1. apt install mysql-server

安装过程中会自动:

  • 安装 MySQL 服务
  • 创建 systemd 服务
  • 默认初始化数据目录

但是此时,mysql没有配置密码,可以直接使用

mysql -uroot

登录

2. 运行安全配置脚本:mysql_secure_installation

跟着提示一步一步走,基本都是先选yes就行

3. 开始设置用户密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongPassword';

FLUSH PRIVILEGES;

FLUSH PRIVILEGES作用是:

强制 MySQL 重新加载权限表到内存

等价于:

复制代码
重新读取 mysql.user 等系统表 → 更新权限缓存

之后你就可以:

css 复制代码
mysql -u root -p

但是由于安全配置中,只能本地登录选择了yes,所以现在只有一个root用户,并且只能本地登录

4. 怎么查看当前mysql的所有用户

SELECT user, host, plugin FROM mysql.user;

  • user:用户名

  • host:允许从哪里登录(localhost 只本地,% 任意地址)

  • plugin:认证方式(mysql_native_password /caching_sha2_password)

创建一个dev用户,这个用户有创建库表,也有对表新增和修改数据的权限,但是没有删除库表的权限,并且开放任意ip

sql 复制代码
CREATE USER 'dev'@'%' IDENTIFIED WITH mysql_native_password BY '你的强密码';


GRANT CREATE, ALTER, INDEX, INSERT, UPDATE, DELETE, SELECT, CREATE TEMPORARY TABLES ON *.* TO 'dev'@'%';

权限说明:

  • CREATE:可以创建数据库、创建表

  • ALTER:可以修改表结构

  • SELECT / INSERT / UPDATE / DELETE:可以增删改查数据

  • 没有给的权限

    • DROP:不能删库、不能删表
    • DROP USER:不能删用户
    • GRANT OPTION:不能授权别人

FLUSH PRIVILEGES; 刷新mysql权限

5. 怎么修改mysql的端口

编辑配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到 port 配置

如果没有就自己加,在 [mysqld] 下:

ini 复制代码
[mysqld]
port = 3307

6. 让mysql服务可以被远程访问

也是在上面的配置文件下

确认监听地址

如果你要远程访问:

ini 复制代码
bind-address = 0.0.0.0

否则只本机访问:

ini 复制代码
bind-address = 127.0.0.1

7.重启mysql,并查看服务进行确认

systemctl restart mysql

查看端口监听

ss -tlnp | grep 3307

8. 到这里mysql本身的配置已经全部完成,但是还是要注意以下的坑

查看防火墙目前开放的端口,并确认有没有3307

ufw status

如果没有,就加上

sudo ufw allow 3307

如果是云服务厂商的服务器,最好检查下对应厂商的防火墙控制台,同时配置以下端口放行

将mysql注册成开机自启动的服务,并验证

sudo systemctl enable mysql sudo systemctl is-enabled mysql

最后找另一台机器,自测一下dev用户连接,就大功告成了

相关推荐
AI人工智能+电脑小能手5 小时前
【大白话说Java面试题】【Java基础篇】第30题:JDK动态代理和CGLIB动态代理有什么区别
java·开发语言·后端·面试·代理模式
头发够用的程序员6 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
云泽8088 小时前
二叉树高阶笔试算法题精讲(二):非递归遍历与序列构造全解析
c++·算法·面试
Cosolar9 小时前
大型语言模型(LLM)微调与量化技术全指南——从预训练到高效部署
人工智能·后端·面试
沪漂阿龙9 小时前
深度硬核!2026年NLP面试最全指南:从Word2Vec到Transformer,大模型时代算法工程师通关秘籍
自然语言处理·面试·word2vec
xsgbbx14 小时前
Agent Skills 实战:用 SKILL.md 把 Claude Code 从助手变成队友
面试
knight_9___14 小时前
LLM工具调用面试篇6
人工智能·python·面试·职场和发展·llm·agent
生物信息与育种15 小时前
黄三文院士领衔植物星球计划(PLANeT)发表Cell
人工智能·深度学习·算法·面试·transformer
闵孚龙16 小时前
一篇文章彻底吃透NumPy与Pandas——从零基础到面试通关的完整指南
面试·numpy·pandas
Heo16 小时前
14_React 中的更新队列 updateQueue
前端·javascript·面试