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';
相关推荐
HideF8 小时前
Linux sudo
linux
FlightYe8 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
蹊黎9 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
幽灵诶9 小时前
Mysql(基于测试的学习)
数据库·mysql
宇宙无敌暴龙战士66610 小时前
MySQL 8 库表操作学习笔记:SQL 基础、库表管理、约束与用户授权全流程
数据库·sql·mysql·学习笔记·后端开发
猿究院_夏燊10 小时前
MySQL 的四种隔离级别
java·数据库·mysql
牛马鸡niumasi10 小时前
【Linux】C语言文件操作
linux
say_fall10 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii11 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
AI+程序员在路上11 小时前
RV1126B 上支持的模型及全流程应用--从CNN及语音到 LLMVLM 与跨平台选型
linux·c语言·人工智能