mysql 用户名中主机$_$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file --bind-addres...

你的位置:

问答吧

-> MySQL

-> 问题详情

$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file --bind-addres

$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file --bind-address=127.0.0.1$other_args >/dev/null 2>&1 &

这是禁止外IP连接的..现在 我想添加一个IP能访问的.语句怎么写呀?

作者: liangcq132

发布时间: 2010-12-07

PHP的不太懂哦

作者: linhai0103

发布时间: 2010-12-07

这是在 /etc/init.d/mysql 文件里的.

作者: liangcq132

发布时间: 2010-12-07

MYSQL可以通过客户端工具来联接或者是数据访问组件来访问,只要知道知道服务器地址和用户名密码,现在为了安全我只接受某个IP的计算机的访问,对于其他计算机,就算他知道服务器IP,用户名和密码都不能访问。

可以不?

作者: liangcq132

发布时间: 2010-12-07

$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file --bind-address=127.0.0.1$other_args >/dev/null 2>&1 &

删除这个参数,另外还在在MYSQL中进行授权。 MYSQL的账号是由用户名@主机来形成的, 也就是说 liangcq132@127.0.0.1 和liangcq132@csdn.net 是完全不同的两个用户。

作者: ACMAIN_CHM

发布时间: 2010-12-07

参考一下http://www.phpfans.net/article/htmls/201007/MjkwNTkx.html

去掉--bind-address=127.0.0

作者: WWWWA

发布时间: 2010-12-07

去掉--bind-address=127.0.0 ,,全部可以远程连接呀.现在我想允许特定的一个IP可以远程连接呀

作者: liangcq132

发布时间: 2010-12-07

-bind-address=127.0.0 去掉了远程连接,你怎么指定IP?

参考上述网址,指定可以访问MYSQL的IP、OR 用户名

作者: WWWWA

发布时间: 2010-12-07

引用去掉--bind-address=127.0.0 ,,全部可以远程连接呀.现在我想允许特定的一个IP可以远程连接呀

这个参数--bind-address 并不是允许某个IP访问,而是MYSQL服务绑定的IP。

你去掉这个后,然后需要到MYSQL中进行账号的授权管理。

作者: ACMAIN_CHM

发布时间: 2010-12-07

MySQL 5.1参考手册

5.8. MySQL用户账户管理

5.8.1. MySQL用户名和密码

5.8.2. 向MySQL增加新用户账户

5.8.3. 从MySQL删除用户账户

5.8.4. 限制账户资源

5.8.5. 设置账户密码

5.8.6. 使你的密码安全

5.8.7. 使用安全连接

本节描述如何为MySQL服务器的客户端设置账户。讨论了下面的主题:

· MySQL使用的账户名和密码的含义,以及如何比较你的操作系统所使用的账户名和密码

· 如何设置新账户并移除已有账户

· 如何更改密码

· 安全使用密码指导

· 如何使用安全SSL连接

5.8.1. MySQL用户名和密码

用用户名和客户端或主机定义MySQL账户,用户可以根据这些名称来连接服务器。账户也有密码。MySQL和操作系统使用用户名和密码的方式有几处区别:

· MySQL用于鉴定目的用户名与Windows或Unix使用的用户名(登录名)没有关系。在Unix中,大多数MySQL客户端默认试图使用当前Unix的用户名作为MySQL用户名来登录,但这样只是为了方便。 默认值可以很容易被覆盖,因为客户端程序允许用-u或--user选项来指定用户名。因为这表示任何人可以试图使用任何用户名来连接服务器,除非所有MySQL账户有密码,否则你不能使数据库保持安全。通过为没有密码的账户指定用户名,任何人能够成功连接服务器。

· MySQL用户名最大客达16字符长。这样可以限制MySQL服务器和客户端之间的硬编码,并且防止通过修改mysql数据库中表的定义来偷窃密码。

注:你应绝对不要以任何方式修改mysql数据库中的任何表,只能运行MySQL分发中专为此目的提供的脚本。将MySQL系统表重新定义为其它方式会导致未定义的(和不支持的!)行为。

操作系统用户名与MySQL用户名完全不相关,甚至最大长度可能不同。例如, Unix用户名限制为8个字符。

· MySQL密码与登录到你的操作系统的密码没有关系。不需要将你用来登录Windows或Unix机器的密码和你用来访问该机器上的MySQL服务器的密码关联起来。

· MySQL的加密密码使用自己的算法。该加密算法不同于Unix登录过程使用的算法。MySQL密码加密与PASSWORD()SQL函数的方法相同。Unix密码加密与ENCRYPT()SQL函数的方法相同。PASSWORD()和ENCRYPT()函数的描述参见12.9.2节,“加密函数”。从版本4.1 起,MySQL使用更强的鉴定方法,同以前的版本相比可以在连接过程中提供更好的密码保护。即使TCP/IP包被截取或mysql数据库被捕获也很安全。(在前面的版本中,即使密码以加密形式保存到user表中,仍可以通过加密密码值来连接MySQL服务器)。

当安装MySQL时,授权表装载时有一系列初使账户。这些账户的名称和访问权限见2.9.3节,“使初始MySQL账户安全”,其中还讨论了如何未这些账户赋予密码。因此,你一般应使用GRANT和REVOKE语句来设置、修改和移除MySQL账户。参见13.5.1.3节,“GRANT和REVOKE语法”。

当用命令行客户端连接MySQL服务器时,你应为想要使用的账户指定用户名和密码:

shell> mysql --user=monty --password=guess db_name

如果你想用较短的选项,命令应为:

shell> mysql -u monty -pguess db_name

-p选项和后面的密码值之间绝对不能有空格。参见5.7.4节,“与MySQL服务器连接”。

前面的命令包括命令行中的密码值,会很危险。参见5.8.6节,“使你的密码安全”。要想避免,指定--password或-p选项后面不跟任何密码值:

shell> mysql --user=monty --password db_name

shell> mysql -u monty -p db_name

然后客户端程序输出提示符并等待你输入密码。(在这些示例中,db_name并不为密码,因为用空格将它同前面的密码项隔离开了)。

在一些系统中,MySQL用来提示输入密码的库调用自动将密码限制到8个字符。这是系统库的问题,而不是MySQL的问题。MySQL本身并不限制密码的长度。要解决该问题,将MySQL密码改为8个字符和更少字符的值,或将密码放入选项文件中。

5.8.2. 向MySQL增加新用户账户

可以用两种方式创建MySQL账户:

· 使用GRANT语句

· 直接操作MySQL授权表

最好的方法是使用GRANT语句,因为这样更精确,错误少。从MySQL 3.22.11起提供了GRANT;其语法见13.5.1.3节,“GRANT和REVOKE语法”。

创建账户的其它方法是使用MySQL账户管理功能的第三方程序。phpMyAdmin即是一个程序。

下面的示例说明如何使用MySQL客户端程序来设置新用户。假定按照2.9.3节,“使初始MySQL账户安全”描述的 默认值来设置权限。这说明为了更改,你必须以MySQL root用户连接MySQL服务器,并且root账户必须有mysql数据库的INSERT权限和RELOAD管理权限。

首先,使用MySQL程序以MySQL root用户来连接服务器:

shell> MySQL --user=root MySQL

如果你为root账户指定了密码,还需要为该MySQL命令和本节中的其它命令提供--password或-p选项。

以root连接到服务器上后,可以添加新账户。下面的语句使用GRANT来设置四个新账户:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'

-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'

-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';

mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';

用GRANT语句创建的账户有下面的属性:

· 其中两个账户有相同的用户名.....

作者: ACMAIN_CHM

发布时间: 2010-12-07

MySQL 5.1参考手册

5.7. MySQL访问权限系统

5.7.1. 权限系统的作用

5.7.2. 权限系统工作原理

5.7.3. MySQL提供的权限

5.7.4. 与MySQL服务器连接

5.7.5. 访问控制, 阶段1:连接核实

5.7.6. 访问控制, 阶段2:请求核实

5.7.7. 权限更改何时生效

5.7.8. 拒绝访问错误的原因

5.7.9. MySQL 4.1中的密码哈希处理

MySQL有先进但非标准的安全/权限系统。本节描述它的工作原理。

5.7.1. 权限系统的作用

MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的SELECT、INSERT、UPDATE和DELETE权限。

附加的功能包括有匿名的用户并对于MySQL特定的功能例如LOAD DATA INFILE进行授权及管理操作的能力。

5.7.2. 权限系统工作原理

MySQL权限系统保证所有的用户只执行允许做的事情。当你连接MySQL服务器时,你的身份由你从那儿连接的主机和你指定的用户名来决定。连接后发出请求后,系统根据你的身份和你想做什么来授予权限。

MySQL在认定身份中考虑你的主机名和用户名字,是因为几乎没有原因假定一个给定的用户在因特网上属于同一个人。例如,从office.com连接的用户joe不一定和从elsewhere.com连接的joe是同一个人。MySQL通过允许你区分在不同的主机上碰巧有同样名字的用户来处理它:你可以对joe从office.com进行的连接授与一个权限集,而为joe从elsewhere.com的连接授予一个不同的权限集。

MySQL存取控制包含2个阶段:

阶段1:服务器检查是否允许你连接。

阶段2:假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。例如,如果你从数据库表中选择(select)行或从数据库删除表,服务器确定你对表有SELECT权限或对数据库有DROP权限。

如果连接时你的权限被更改了(通过你和其它人),这些更改不一定立即对你发出的下一个语句生效。详情参见5.7.7节,“权限更改何时生效”。

服务器在mysql数据库的 授权表中保存权限信息(即在mysql数据库中)。当MySQL服务器启动时将这些表的内容读入内存,在5.7.7节,“权限更改何时生效”的环境下重新读取它们。访问控制决策取决于内存中的 授权表的份数。

一般情况,你通过GRANT和REVOKE语句间接来操作 授权表的内容,设置账户并控制个人的权限。参见13.5.1.3节,“GRANT和REVOKE语法”。下面讨论了 授权表的结构以及服务器与客户端交互操作时如何使用其内容。

服务器在存取控制的两个阶段使用mysql数据库中的user、db和host表,这些授.....

作者: ACMAIN_CHM

发布时间: 2010-12-07

引用楼主 liangcq132 的回复:

$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file --bind-address=127.0.0.1$other_args >/dev/null 2>&1 &

这是禁止外IP连接的..现在 我想添加一个IP能访问的.语句怎么写呀?

先去掉--bind-address

然后grant all privileges on .* to ....@

这样可以限制IP访问。

作者: iihero

发布时间: 2010-12-07

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值