MYSQL创建子账号以及权限设置


MYSQL创建子账号以及权限设置 一.连接Mysql(我用的工具是Xshell6) 命令: mysql -uroot -p   0  二.创建子账号 创建一个用户名为test,密码为123456的子账号。 命令: CREATE USER 'test'@'localhost' IDENTIFIED BY '123456'; #这种创建方式只能本地登录 CREATE USER 'test'@'%' IDENTIFIED BY '123456'; #这种创建方式可以远程登录,即别的地方可以登录   0 三.测试刚刚创建的子账号是否可以登录 命令: mysql -utest -p   0  四. 给子账号添加权限(登录root账号) 1.创建一个测试数据库testDemo(登录root账号) create database testDemo default charset utf8 collate utf8_general_ci;   0  2.添加权限 添加权限第1步: "localhost"表示对本地主机授权,此时使用子账号本地登录拥有testDemo的操作权限,远程登录依然没有testDemo的操作权限。 all privileges表示所有操作权限,也可以填写部分权限,比如把all privileges改为create,update,delete,select等。 grant all privileges on *.* to "test"@"localhost" identified by "123456"; flush privileges; #刷新系统权限表 grant select,update on testDemo.* to "test"@"localhost" identified by "123456"; flush privileges; #刷新系统权限表   0 添加权限第2步: “%” 表示对所有非本地主机授权,不包括localhost。此时使用子账号远程登录对testDemo数据库才有操作权限。 grant all privileges on *.* to "test"@"%" identified by "123456"; flush privileges; #刷新系统权限表   0 使用子账号远程登录的结果:   0   五.删除子账号及权限 1.删除远程test账号(此时本地的test账号依然可以使用) drop user test@"%";   0 2.删除本地test账号 drop user test@"localhost";   0 至此整个流程完成! 3.查询当前所有mysql用户 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;