MySQL账户及权限管理概述
MySQL初始账户管理
MySQL的初始账户如下: [root@lx16 ~]# mysql -u root mysql> select host,user,password from mysql.user; +-----------+------+----------+ | host | user | password | +-----------+------+----------+ | lx16 | root | | | 127.0.0.1 | root | | | ::1 | root | | | localhost | | | | lx16 | | | | localhost | root | | +-----------+------+----------+ MySQL有两类初始用户: root超级账户:拥有全部的权限,可以做任何事。 匿名账户:如何人都可以通过它连接服务器,但它权限很小。 在默认情况下,这些账户都没有口令,因此为了安全起见,我们首先必须得为所有的root账户设置密码。 mysql> set password for 'root'@'localhost'=password('*****'); 设置密码的第二种方法是直接update user权限表,这种方法的好处是可以同时给多个账户设置密码,如下面的语句 可以一次修改所有root账户的密码: mysql> update mysql.user set password=password('***') where user='root'; mysql> flush privileges; 如果用update方式修改,必须明确告诉服务器重新加载权限表(flush privileges) 对于匿名账户,强烈建议将他们删除,删除语句如下: mysql> drop user ''@'localhost'; mysql> drop user ''@'lx16'; 执行完以上操作之后,user权限表里的数据如下: mysql> select host,user,password from mysql.user; +-----------+------+-------------------------------------------+ | host | user | password | +-----------+------+-------------------------------------------+ | lx16 | root | *578EC7851088AC1F2A67B100540344B03BD2BA99 | | 127.0.0.1 | root | *578EC7851088AC1F2A67B100540344B03BD2BA99 | | ::1 | root | *578EC7851088AC1F2A67B100540344B03BD2BA99 | | localhost | root | *578EC7851088AC1F2A67B100540344B03BD2BA99 | +-----------+------+-------------------------------------------+ 创建新账户 MySQL不仅要求你必须知道谁(user_name)能连接,还必须指定从什么地方连接(host_name),也就是说即便两个账户 拥有相同的名字,如果他们将从不同客户端连接,你也要为它们各自创建一个账户。 ‘%’ - 匹配任何多个字符 ‘-’ - 配置一个字符 test账户可以从任意IP连接 create user 'test'@'%' identified by '***'; test账户只能从本地连接 create user 'test'@'localhost' identified by '***'; test账户只能从'192.168.2.%'网段连接 create user 'test'@'192.168.2.%' identified by '***'; 还可以使用IP掩码 create user 'test'@'192.168.2.2 (编辑:徐州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |