科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道6.10 建立初始的MySQL权限

6.10 建立初始的MySQL权限

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在安装MySQL后,你通过运行scripts/mysql_install_db安装初始的存取权限。见4.7.1 快速安装概述。 scripts/mysql_install_db脚本启动mysqld服务器,然后初始化授权表

作者:天极软件 来源:天极软件 2008年1月24日

关键字: 服务器 权限 MySQL

  • 评论
  • 分享微博
  • 分享邮件

在安装MySQL后,你通过运行scripts/mysql_install_db安装初始的存取权限。见4.7.1 快速安装概述scripts/mysql_install_db脚本启动mysqld服务器,然后初始化授权表,包含下列权限集合:

  • MySQL root用户作为可做任何事情的一个超级用户被创造。连接必须由本地主机发出。注意:出世的root口令是空的,因此任何人能以root没有一个口令进行连接并且被授予所有权限。
  • 一个匿名用户被创造,他可对有一个'test'或以'test_'开始的名字的数据库做任何时期事情,连接必须由本地主机发出。这意味着任何本地用户能连接并且视为匿名用户。
  • 其他权限被拒绝。例如,一般用户不能使用mysqladmin shutdownmysqladmin processlist

注意:对Win32的初始权限是不同的。见4.12.4 在Win32上运行MySQL

既然你的安装初始时广开大门,你首先应该做的事情之一是为MySQL root用户指定一个口令。你可以做如下(注意,你使用PASSWORD()函数指定口令):

shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('new_password')
           WHERE user='root';
mysql> FLUSH PRIVILEGES;

MySQL 3.22和以上版本中,你可以使用SET PASSWORD语句:

shell> mysql -u root mysql
mysql> SET PASSWORD FOR root=PASSWORD('new_password');

设置口令的另一种方法是使用mysqladmin命令:

shell> mysqladmin -u root password new_password 

注意:如果你使用第一种方法在user表里直接更新口令,你必须告诉服务器再次读入授权表(用FLUSH PRIVILEGES),因为否则改变将不被注意到。

一旦root口令被设置,此后当你作为root与服务器连接时,你必须供应那个口令。

你可能希望让root口令为空白以便当你施行附加的安装时,你不需要指定它或测试,但是保证在任何真实的生产工作中使用你的安装之前,设置它。

看看scripts/mysql_install_db脚本,看它如何安装缺省的权限。你可用它作为一个研究如何增加其他用户的基础。

如果你想要初始的权限不同于上面描述的那些,在你运行mysql_install_db之前,你可以修改它。

为了完全重建权限表,删除在包含mysql数据库的目录下所有“*.frm”,“*.MYI”“*.MYD”文件。(这是在数据库目录下面命名为“mysql”的目录,当你运行mysqld --help时,它被列出。)然后运行mysql_install_db脚本,可能在首先编辑它拥有你想要的权限之后。

注意:对于比MySQL 3.22.10旧的版本,你不应该删除“*.frm”文件。如果你偶然做了,你应该在运行mysql_install_db之前你的MySQL分发中拷回它们。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章