MySQL远程连接

MySQL 远程连接

不论远程或是本地连接,我们都需要一个帐户,所以创建账户是首要的。

比如 ’test1’@’localhost’ 表示在用户 test1 只能在本机连接

比如 test2@’192.168.1.1’ 表示用户 test2 只能从 IP192.168.1.1 上的主机连接

比如 ’test3’@’%’ 表示 test3 可以从任何主机连接

所以说 MySQL 远程连接和本地连接从权限上来说是一样的,只是更改主机名而已。

创建账户有几种办法

1. 使用图形化管理界面:

比如 MySQL Administrator, SQL Manager for MySQL 等,比较容易操作,简单容易,不过对于你了解 MySQL 也许没什么好处。

2. 直接使用 insert,update 命令

MySQL 的用户信息存放于 `mysql`.`user` 中,你可以使用 select * from mysql.user 看用户表。一般来说,对于连接部份,你只需要查看 select user,password,host from mysql.user; 既用户名,密码,主机名,当然密码是通过 PASSWORD ()函数做的哈希散列,不是叫你去反推,有时候可以直接看出来密码有问题, UPDATE 一下。

MySQL 4.1 之前 ,PASSWORD() 函数计算的密码哈希值有 16 个字节长。

MySQL 4.1 中,可以生成 41 字节的哈希值

在更改密码时,仍然可以使用 old_password 来进行加密,但是连接时也要用 old_password 验证。

3. 使用 SQL 语句 GRANTREVOKE

详见 mysql5.1 参考手册,我就不打字了,累

以上是比较常用的三种方法,还有 PERL 脚本等,都可以添加,更改用户。

实例:

分两步:

创建用户

Mysql>grant all on *.* to ‘abcd’@’192.168.1.2’ identified by ‘123456’

重载权限表

>mysqladmin –uroot –p reload

/*grant all 授予除 SUPER 以外的所有权限, super 权限必须用 grant super 单独授予 */

/*on *.* 表示将这个权限赋予任意数据库的任意表,如果我们需要指定表,比如 test 数据库下的 t1 表,那就是 on test.t1*/

/*to ‘abcd’@’192.168.1.2’ 表示用户,主机名 indentified by ‘123456’ 是密码 */

执行该语句后, select user from mysql.user; 你可以看到你刚刚加入的用户已经加入 user 表了,但是还不能用这个帐号登录。

我更习惯于使用

Mysql>grant all on *.* to ‘123’@’192.168.1.3’;

Mysql>update mysql.user set password=password(123456);

第一句创建一个密码为空的用户,第二句设置密码。

你加入的用户只有在 reload 后才有用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值