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';
相关推荐
德育处主任Pro几秒前
在亚马逊云上解决RDS、MariaDB 与 Aurora MySQL复制延迟实战指南
数据库·mysql·mariadb
爱吃番茄鼠骗5 分钟前
Linux操作系统———守护进程
linux
Nerd Nirvana14 分钟前
IPv6组播在DLMS协议中的应用——基础知识掌握
linux·运维·服务器·网络·网络协议·ipv6·dlms协议
福尔摩斯张17 分钟前
TCP/IP网络编程深度解析:从Socket基础到高性能服务器构建(超详细)
linux·运维·服务器·开发语言·网络·网络协议·tcp/ip
Sleepy MargulisItG18 分钟前
【Linux网络编程】传输层协议:TCP
linux·网络·tcp/ip
卡布叻_星星19 分钟前
Docker之Windows与Linux不同架构部署理解
linux·windows·docker
Cat God 00729 分钟前
基于 CentOS 7.6 的 MySQL 8.0 主从复制
linux·服务器·mysql·centos
笨蛋少年派36 分钟前
Maxwell数据变更捕获工具简介
数据库·mysql
春日见1 小时前
如何跑通,吃透一个开源项目?
linux·运维·开发语言·数码相机·matlab
邂逅星河浪漫1 小时前
【MySQL 事务】详细介绍+实例
数据库·mysql·事务