Ubuntu中MySQL远程登录设置

mysql单独放在一台Ubuntu服务器上,我远程连接不上。可能是安装的时候忘记设置远程登录了。事后补救措施如下:

MySQL 绑定地址配置问题

MySQL 可能只绑定了 localhost,无法接受来自外部主机的连接。你需要检查 MySQL 的配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf,确保 bind-address 参数是 0.0.0.0或者是你的后端主机的地址。

修改 mysqld.cnf 文件,确保如下配置:

复制代码
bind-address = 0.0.0.0

然后重启 MySQL:

复制代码
sudo systemctl restart mysql

MySQL 用户权限不足

可以通过以下步骤修改用户权限:

登录 MySQL 服务器:

复制代码
mysql -u root -p

检查是否有允许远程连接的用户:

复制代码
SELECT host, user FROM mysql.user WHERE user = 'root';

我已经添加了一位用户进去。

创建用户
复制代码
CREATE USER 'root'@'192.168.145.130' IDENTIFIED BY 'your_password';
授予权限
复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.145.130';

刷新权限

复制代码
FLUSH PRIVILEGES;

可能会出现密码不符合规范的错误,所以可以降低密码规范:

复制代码
#将密码验证策略设置为 LOW 级别,只要求密码长度。
SET GLOBAL validate_password.policy = 0;
#密码长度最少6位
SET GLOBAL validate_password.length = 6;

可以再次检查用户是否成功创建:

复制代码
SELECT host, user FROM mysql.user WHERE user = 'root';
相关推荐
落羽的落羽11 小时前
【项目】C++从零实现JsonRpc框架——项目引入
linux·服务器·开发语言·c++·人工智能·算法·机器学习
菜_小_白11 小时前
tcpdump
linux·网络·测试工具·http·tcpdump
zzzsde12 小时前
【Linux】线程概念与控制(3):线程ID&&C++封装线程
linux·运维·服务器·开发语言·算法
yqcoder12 小时前
TypeScript 进阶:如何精准获取对象的所有 Key?
javascript·ubuntu·typescript
消失的旧时光-194312 小时前
C 语言如何实现“面向对象”?—— 从 struct + 函数指针,到 Linux 内核设计思想
linux·c语言·开发语言
不做无法实现的梦~12 小时前
Linux 新手到日常运维操作指南
linux·运维·服务器
xingfujie12 小时前
第3章 安装 kubeadm/kubelet/kubectl
linux·云原生·容器·kubernetes·kubelet
不能隔夜的咖喱12 小时前
黑马ai大模型笔记(自用,比较粗糙)
linux·windows·python
呆萌很12 小时前
联想小新 (XiaoXin 16 IRL8) 笔记本安装Ubuntu系统
ubuntu
jio本小子12 小时前
Windows 安装 Java17 + Maven + MySQL 开发环境教程,全程安装到 D 盘
windows·mysql·maven