扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
MySQL在所有Win32平台上支持TCP/IP和NT上命名管道。如果客户安装了TCP/IP,缺省是对NT上的本地连接使用命名管道而对所有其他情形使用TCP/IP,主机名指定使用哪个协议:
主机名 | 协议 |
空 (没有) | 在NT上,首先尝试命名管道;如果它不工作,使用TCP/IP。在Win95/Win98上,使用TCP/IP。 |
. | 命名管道 |
localhost | TCP/IP到当前主机 |
主机名 | TCP/IP |
通过指定命名管道--pipe
选项,你可以强制一个MySQL客户使用命名管道。使用--socket
选项指定管道的名字。
通过执行下列命令,你能测试MySQL是否正在工作:
C:\mysql\bin\mysqlshow C:\mysql\bin\mysqlshow -u root mysql C:\mysql\bin\mysqladmin version status proc C:\mysql\bin\mysql test
如果在Win95/Win98上mysqld
很慢地回答连接,可能你的DNS有问题。在这种情况中下,用--skip-name-resolve
启动mysqld
并且在MySQL授权表中仅使用localhost
和IP数字。在你连接运行在NT上一个mysqld-nt
的MySQL服务器时,使用--pipe
指定命名管道使用的参数,你也能避开DNS,对大多数MySQL客户是可行的。
有2个版本的MySQL命令行工具:
mysql |
用原生Win32编译,它提供很有有限的文本编辑能力。 |
mysqlc |
用Cygnus GNU 编译器和库编译,它提供readline 编辑。 |
如果你想使用mysqlc.exe
,你必须拷贝“C:\mysql\lib\cygwinb19.dll”到“\windows\system”(或类似的地方)。
在Win32上缺省的权限给所有本地用户以所有数据库的完全权限。为了使MySQL更安全,你应该为每个用户设置口令并删除mysql.user
中有Host='localhost'
和User=''
的行。
你也应该为root
用户增加一个口令:(下列例子通过删除匿名用户,允许任何人存取“测试”数据库)
C:\mysql\bin\mysql mysql mysql> DELETE FROM user WHERE Host='localhost' AND User=''; mysql> QUIT C:\mysql\bin\mysqladmin reload C:\mysql\bin\mysqladmin -u root password your_password
在你设置了口令以后,如果你想要关掉mysqld
服务器, 你能使用这个命令做到:
mysqladmin -- user=root -- password=your_password shutdown
如果你正在使用在windows下的MySQL共享软件版本,上面的命令将以 parse error near 'SET OPTION password'
的错误而失败,这是因为,这是共享软件版本,它基于MySQL 3.21,没有SET PASSWORD
命令。
对共享软件版本,你能如下设置root用户口令:
C:\mysql\bin\mysql mysql mysql> UPDATE user SET password=PASSWORD('your password') WHERE user='root'; mysql> QUIT C:\mysql\bin\mysqladmin reload
有注册的MySQL版本,你能很容易地用GRANT
和REVOKE
命令增加新用户和更改权限,见7.26 GRANT
和REVOKE
句法。对Windows 的共享软件版本,必须使用INSERT
、UPDATE
和DELETE
在mysql
数据库中的一个表来管理用户和他们的权限,见6.13 存取拒绝(Access denied
)的错误原因。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者