mysql 远程连接

1.改表

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,

更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmware

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

2. 授权

例如,你想root使用“mypassword”从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO'root'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.7的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO'root'@'192.168.1.7'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
 
GRANT ALL PRIVILEGES ON *.* TO'root'@'192.168.1.7'IDENTIFIED BY '1235' WITH GRANT OPTION;
mysql>flush privileges;  这句一定要加上!!!

原因是MySQL考虑到安全因素,默认配置只让从本地登录
打开 /etc/mysql/my.cnf 文件,找到 bind-address = 127.0.0.1 修改为 bind-address = 0.0.0.0
重启mysql : sudo /etc/init.d/mysql restart



然后连接时,竟然提示1045 错误了.需要重设下密码试下.


 update mysql.user set password=password('XXX') where User="fanzkcom_fanzk"  


 flush privileges;

(我一直也没搞明白为什呢授权会改变密码)

修改完之后就可以远程登录了,如果本地“root”登录报错“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)”

你就执行以下两部:

mysql> delete from user where USER='';

mysql> FLUSH PRIVILEGES; 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值