远程连接MySQL的步骤[转]

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服务器,建议在开发时设为%。  
   update user set host = '%' where user = 'xuys';
2、 ./mysqladmin -uroot -ppwd reload
./mysqladmin -uroot -ppwd shutdown
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';
重复执行上面的第2、3步。
error: mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/web/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/web/mysql/mysql.sock' exists!
=================================================================

方法一:
mysql>use mysql
mysql>GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER
ON *.* TO jerry@.localhost IDENTIFIED BY 'password';
mysql>GRANT ALL PRIVILEGES ON mydb.* TO jim@"%"
IDENTIFIED BY 'password';
mysql>GRANT PROCESS, FILE ON *.* TO leon@'server.domain'
IDENTIFIED BY 'password' WIDTH GRANT OPTION;

上面的语句增加了三个用户。在本机上以“ j e r r y”为用户名的用户将拥有所有数据库的
S E L E C T、I N S E RT等上面列出的权限。而用户 j i m无论在什么主机上登录都拥有数据库 m y d b的
所有权限(不包括G R A N T权限)。而来自“s e r v e r. d o m a i n”的用户“l e o n”则拥有P R O C E S S、
F I L E和G R A N T权限。

方法二:
mysql>use mysql
mysql>INSERT INTO user VALUES('localhost', 'jerry', PASSWORD('password'),
'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'Y',);
mysql>INSERT INTO user (Host, User, Password)
VALUES('%', 'jim', PASSWORD('password'));
mysql>INSERT INTO db (Host, db, User,
Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Alter_priv)
VALUES('%','jim','Y' ,'Y' ,'Y' ,'Y' ,'Y' ,'Y' ,'Y');
mysql>INSERT INTO user VALUES('server.domain', 'leon', PASSWORD('password')
'N','N', 'N', 'N', 'N', 'N', 'N', 'N' ,'Y' ,'Y' ,'Y','N', 'N', 'N');
mysql>FLUSH PRIVILEGES;

上面的语句增加了三个与在方法一中权限一样的用户。上面的 VA L U E S项的值应该与m y s q l
数据库里的相应表格的相应项的顺序一致。不一定是上面的顺序,也许项的个数会有所不同。
由于一、三个用户的权限都是对“* . *”的,所以不用在d b表里插入记录。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值