远程连接Ubuntu服务器的mysql出现没有权限错误的解决办法

问题现象
我的环境是xUbuntu 12.10下apt-get安装mysql,登陆无法登陆,报错信息这样描述:

'Access denied for user 'root'@'localhost' (using password: YES)' 或者其他致使无法登录mysql的情况。

解决方法:


1.打开/etc/mysql/debian.cnf文件,里面存储了相关的密码,我的文件信息如下

sudovi /etc/mysql/debian.cnf# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = 6x1XG2B5p75WtFV2
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = 6x1XG2B5p75WtFV2
socket = /var/run/mysqld/mysqld.sock
basedir = /usr

在[client]段有user=以及password=这两行,这就是通过apt-get安装mysql,系统给我们设置的mysql登录名和密码


2. 输入命令:

mysql -udebian-sys-maint -p密码

即debian.cnf中user=后面的内容.回车后会提示输入密码,此时把password=后面的内容复制粘贴后回车即可进入mysql 控制台。


3.进入控制台后.按以下步骤进行:

use mysql;
update user set password=PASSWORD('新密码') where user='root';
FLUSH PRIVILEGES;
此时可以输入quit;退出后用root帐号登录,也可以继续其他操作.




这里是 原文链接 感谢这位大佬=w=

<think>嗯,用户想在Ubuntu 24.04的百度云服务器上配置MySQL允许远程访问。首先,我需要回忆一下安装MySQL的步骤。根据引用[2]和[3],安装MySQL服务器可以使用sudo apt install mysql-server命令。不过用户可能已经安装好了,所以重点在远程访问的设置。 接下来,MySQL默认只监听本地连接,所以需要修改配置文件,把bind-address从127.0.0.1改成0.0.0.0。这个步骤我记得没错,但有时候配置文件的位置可能不同,比如可能在/etc/mysql/mysql.conf.d/mysqld.cnf或者别的路径,得确认一下。 然后,用户需要创建允许远程登录的用户。MySQL 8.0之后创建用户和授权可能需要分开操作,比如先用CREATE USER,再用GRANT授权。这里要注意host部分设为%,表示允许任何主机连接。同时,可能需要使用ALTER USER设置密码时指定使用mysql_native_password插件,因为某些客户端可能不支持默认的caching_sha2_password,不过这个步骤可能不是必须的,但为了兼容性考虑,最好加上。 之后,重启MySQL服务使配置生效,用sudo systemctl restart mysql。然后需要处理防火墙的问题,百度云服务器可能有安全组设置,需要放行3306端口。同时,Ubuntu本身的ufw防火墙如果启用的话,也要允许该端口,可以用ufw allow 3306/tcp。 测试连接的时候,用户可能需要在本机使用mysql -h 服务器IP -u 用户名 -p来尝试连接,如果失败的话,可能需要检查步骤是否正确,或者是否有其他网络问题。比如,安全组有没有正确配置,MySQL用户权限是否正确,bind-address是否修改了,还有防火墙设置。 另外,用户提到的引用[1]是关于Ubuntu 22.04安装MySQL远程登录的,虽然版本不同,但步骤应该类似,特别是配置文件和用户权限部分。需要注意不同Ubuntu版本中MySQL配置文件的路径是否有变化,可能需要用户自行确认。 最后,用户可能遇到的问题包括忘记开放安全组、配置文件修改后未重启服务、用户权限没有正确授予,或者密码认证插件的问题。这些都是需要提醒用户的常见错误点。</think>### 在Ubuntu 24.04服务器上配置MySQL远程连接的步骤 #### 1. 安装MySQL服务器 如果尚未安装MySQL,使用以下命令安装: ```bash sudo apt update sudo apt install mysql-server ``` 安装完成后验证状态: ```bash sudo systemctl status mysql ``` #### 2. 修改MySQL绑定地址 修改配置文件允许远程连接: ```bash sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf ``` 找到`bind-address`行并修改为: ```conf bind-address = 0.0.0.0 ``` #### 3. 创建远程访问用户 登录MySQL并执行: ```sql CREATE USER 'remote_user'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` #### 4. 重启MySQL服务 ```bash sudo systemctl restart mysql ``` #### 5. 配置服务器防火墙 开放3306端口: ```bash sudo ufw allow 3306/tcp sudo ufw reload ``` #### 6. 配置百度云安全组 在百度云控制台中: 1. 进入**安全组**配置 2. 添加入站规则:TCP协议,端口3306,来源0.0.0.0/0(或指定IP) #### 7. 测试远程连接 从本地机器执行: ```bash mysql -h <服务器公网IP> -u remote_user -p ``` ### 常见问题排查 - **连接超时**:检查安全组规则是否生效 - **拒绝访问**:验证用户权限`SHOW GRANTS FOR 'remote_user'@'%';` - **绑定地址未生效**:确认修改的是`mysqld.cnf`而非其他配置文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值