MySQL:无法远程登入MySQL Server解决(摘合)

博客主要围绕MySQL相关问题展开,包括无法远程登入MySQL Server的问题,指出是权限问题并给出处理方式,如使用GRANT语句赋予权限等;还介绍了解决客户端与服务器端连接问题的步骤,以及附加的解决phpMyAdmin连接远程用户的方法。

MySQL:无法远程登入MySQL Server

摘一

尝试用MySQL Adminstrator GUI Tool登入MySQL ServerServer却回复错误讯息:Host '60-248-32-13.HINET-IP.hinet.net' is not allowed to connect to this
MySQL server

这个是因为权限的问题,处理方式如下:
shell>mysql --user=root -p
输入密码
mysql>use mysql
mysql>GRANT SELECT,INSERT,UPDATE,DELETE ON [db_name].* TO [username]@[ipadd] identified by '[password]';

[username]:远程登入的使用者代码
db_name]:表示欲开放给使用者的数据库称
[password]:
远程登入的使用者密码
[ipadd]:IP
地址或者IP反查后的DNS Name,此例的内容需填入'60-248-32-13.HINET-IP.hinet.net' ,包函上引号(')

(其实就是在远端服务器上执行,地址填写本地主机的ip地址。)

如果希望开放所有权限的话请执行:
mysql>update user set select_priv='Y' , Insert_priv='Y', Update_priv='Y', delete_priv='Y', Create_priv='Y', Drop_priv='Y',Reload_priv='Y', shutdown_priv='Y', Process_priv='Y', File_priv='Y', Grant_priv='Y', references_priv='Y',Index_priv='Y', Alter_priv='Y', Show_db_priv='Y', Super_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y', Execute_priv='Y',Repl_slave_priv='Y',Repl_client_priv='Y' where user='[username]';

 

 

摘二

如何解决客户端与服务器端的连接(mysql) xxx.xxx.xxx.xxx is not allowed to connect to this mysql serv

这两天搞MySQL,遇到一些问题,怕忘掉,放上来,留着备用

这个方法是在google上搜出来的,不过他是转自优快云^_^

1
、进入mysql,创建一个新用户xuys
 
格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";
 grant select,update,insert,delete on *.* to xuys@192.168.88.234 identified by "xuys1234";
  
查看结果,执行:
   use mysql;
   select host,user,password from user;
  
可以看到在user表中已有刚才创建的xuys用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
  
host字段的值改为%就表示在任何客户端机器上能以xuys用户登录到mysql服务器,建议在开发时设为%

3
./mysqld_safe --user-root &
记住:对授权表的任何修改都需要重新reload,即执行第3步。

如果经过以上3个步骤还是无法从客户端连接,请执行以下操作,在mysql数据库的db表中插入一条记录:
use mysql;
insert into db values('192.168.88.234','%','xuys','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
update db set host = '%' where user = 'xuys';
重复执行上面的第23步。

 

三、

附加fbysss解决phpMyAdmin连接远程用户的方法:

1.用root账户登录远程Mysql服务器,

grant select,update,insert,delete on *.* to sss@192.168.0.114 identified by "sss";

 update user set host = '%' where user = 'sss';

退出mysql,在shell下执行
#mysqladmin -u root -p [password] reload

#mysqladmin -u root -p [password] shutdown

#/etc/rc.d/init.d/mysqld start

2.

修改phpMyAdmin目录下的config.inc.php文件,找到

$cfg['Servers'][$i]['host'] 修改为远程服务器地址

$cfg['Servers'][$i]['user'] 修改为sss

$cfg['Servers'][$i]['password']修改为sss的密码

要注意的是:grant all privilege并不能把“grant” 的权限赋给用户,如果要加,可以直接在mysql中使用use mysql;update user set Grant_priv ='Y'来达到要求。

<think>好的,用户想连接到本地MySQL数据库,但不太清楚具体的录方法。我需要根据提供的引用信息和自己的知识来解答。 首先,引用[1]提到使用IDEA连接MySQL时,默认地址是localhost,端口3306,但如果安装时改过端口或者有多个版本,需要注意对应的端口。这说明本地连接的基础是知道正确的地址和端口,默认通常是localhost:3306,但可能有变化。 引用[2]提到在Mac本地运行MySQL服务,并使用knex和mysql2驱动连接,需要安装依赖。这可能涉及启动MySQL服务,比如通过命令行启动,或者检查服务状态,确保数据库服务在运行。 引用[3]展示了SSH连接远程数据库的例子,但用户问的是本地连接,所以这部分可能不太相关,不过里面的连接字符串格式可以参考,比如用户名、密码、地址、端口和数据库名。 引用[4]提到小程序连接时的认证错误,解决办法可能需要修改用户权限或更新认证方式,比如使用mysql_native_password。这可能提示用户在录时如果遇到类似错误,需要调整用户权限。 接下来,用户的问题是如何录本地MySQL,可能有两种方式:命令行和图形界面工具。需要分步骤说明。 首先,确保MySQL服务已经启动。在Windows可以通过服务管理器,在Mac/Linux可以用系统命令。比如,Mac上使用brew services start mysql,或者sudo mysql.server start。 然后,使用命令行录。默认情况下,安装MySQL时会设置root密码,用户可能需要使用mysql -u root -p,然后输密码。如果忘记密码,可能需要重置,但用户现在可能只是初次录,所以先提供基本步骤。 如果用户遇到权限问题,比如无法用root录,可能需要检查是否设置了密码,或者在安装时是否有默认密码。有些安装方式会在安装过程中提示设置密码,而有些可能默认密码为空,但现代版本可能要求必须设置密码。 另外,引用[4]中的认证错误提示可能需要修改用户的认证插件,比如使用ALTER USER语句设置mysql_native_password,这可能是在录后需要做的配置,但用户现在的问题是如何录,所以可能在录成功后遇到这个问题,可以放在常见问题里。 对于图形工具,比如IDEA、Navicat、MySQL Workbench,连接时需要填写主机名、端口、用户名和密码。引用[1]中的IDEA例子,说明这些信息是必须的,确保用户正确输。 总结步骤: 1. 启动MySQL服务。 2. 使用命令行或工具连接。 3. 处理可能的错误,如认证方式或权限问题。 需要注意不同操作系统下的命令差异,比如Windows的net start mysql,Mac/Linux的sudo systemctl start mysql等。此外,用户可能没有设置root密码,或者安装后需要初始化,这些情况需要提及。 可能的问题:用户忘记密码怎么办?这时候需要提供重置步骤,但可能超出当前问题范围,可以放在相关问题里。 最后,生成相关问题,帮助用户扩展了解,比如修改密码、处理连接错误、远程连接等。</think>### 如何连接到本地MySQL数据库 #### 一、确认MySQL服务已启动 1. **Windows系统** - 按 `Win + R` 输 `services.msc`,找到 `MySQL` 服务并右键选择"启动"[^1] - 或使用命令提示符: ```bash net start mysql ``` 2. **Mac/Linux系统** ```bash # Mac(通过Homebrew安装) brew services start mysql # Linux(Systemd) sudo systemctl start mysql ``` --- #### 二、通过命令行MySQL 1. **默认方式(需输密码)** 使用以下命令并按提示输密码: ```bash mysql -u root -p ``` - `-u` 指定用户名(默认 `root`) - `-p` 表示需要密码验证 2. **无密码录(若未设置密码)** ```bash mysql -u root ``` 3. **指定端口和主机(非默认配置时)** 若安装时修改了端口(例如改为 `3307`): ```bash mysql -u root -p -h 127.0.0.1 -P 3307 ``` --- #### 三、通过图形化工具连接(以IDEA为例) 1. 打开IDEA的数据库工具,选择MySQL 2. 输连接信息: - **Host**: `localhost` - **Port**: `3306`(默认值,若未修改) - **User**: `root` - **Password**: 安装时设置的密码[^1] 3. 点击"Test Connection"验证 --- #### 四、常见问题解决 1. **认证协议错误** 若提示 `ER_NOT_SUPPORTED_AUTH_MODE`,需在命令行执行: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES; ``` 随后重新连接[^4]。 2. **忘记root密码** - 停止MySQL服务 - 启动时跳过权限检查: ```bash mysqld_safe --skip-grant-tables ``` - 重新设置密码后重启服务[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值