ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

头歌实践教学平台:数据科学与大数据技术导论(十八1)

头歌实践教学平台:数据科学与大数据技术导论(十八1) 十八、MySQL-数据库管理第1关用户管理任务描述公司中需要对数据库进行操作的部门通常有很多比如财务部门需要访问员工信息表人力资源部门需要访问部门信息表。通常不同部门需要使用不同的用户身份登陆数据库这就需要为不同部门创建不同数据库用户。本关任务创建新的数据库用户删除指定的数据库用户相关知识在之前的实训中我们已经介绍过通过使用命令行登陆MySQL输入命令mysql -uroot -p123123 -h127.0.0.1如下图。这条命令中我们的用户名是root密码是123123在MySQL中root是管理员用户具有最高权限但是实际应用中出于权限管理和安全的考虑通常会给使用者建立单独的用户身份来登陆数据库。USER表在MySQL5.5中会提供默认的3个数据库:information_schemamysqlperformance_schema数据库用户的相关信息都存储在mysql数据库的user数据表中,我们可以使用命令SELECT User FROM mysql.user;查看当前数据库所有用户的用户名如下图。创建用户基本语法 MySQL5.5中创建用户的语句如下CREATE USER 用户名[主机名] [IDENTIFIED BY 登陆密码];具体语义说明CREATE USER是创建用户的命令**用户名**是必选项第二个方括号中的**主机名**是可选项在MySQL中通常由用户名和主机名唯一确定一个登陆用户最后一个方括号中也是可选项IDENTIFIED BY是设置登陆密码的命令密码填写在 中。应用示例 (1)CREATE USER new-user1;如果只填写用户名则主机名会被默认设置为%即允许从任意主机登录可以使用命令SELECT User,Host FROM mysql.user;查看是否创建成功如下图。(注意MySQL5.5中用户名长度不能超过16位)应用示例 (2)CREATE USER new-user2127.0.0.1;创建用户时可以指定主机名这里的主机名通常指允许用户从指定主机登陆127.0.0.1和localhost通常代表着本机右侧命令行属于远程登陆所以只能使用127.0.0.1代表远程主机。由于没有指定登陆密码所以可以使用命令mysql -unew-user2 -h127.0.0.1不输入密码直接登陆如下图。应用示例 (3)CREATE USER new-user3 IDENTIFIED BY new3pass;大部分情况下登陆密码是必要的IDENTIFIED BY命令后new3pass是登陆密码明文。出于安全考虑MySQL在存储密码时不使用明文直接存储我们可以使用命令SELECT User,Password FROM mysql.user;查看用户名和登陆密码如下图。删除用户基本语法(1) MySQL5.5中删除特定用户的语句如下DELETE FROM mysql.user WHERE User用户名 AND Host主机名;User和Host可以唯一的确定一个登陆用户.(2) MySQL5.5中删除具有某一个用户名的所有用户的语句如下DELETE FROM mysql.user WHERE User用户名;此语句会删除所有具有相同**用户名**的用户可能会删除多个。(3) MySQL5.5中删除某一个主机上的所有用户的语句如下DELETE FROM mysql.user WHERE Host主机名;此语句会删除所有登陆主机为**主机名**的所有用户。(4)更新权限在删除用户后必须执行更新权限语句FLUSH PRIVILEGES;如果不执行的话无法再创建与删除用户具有相同用户名和主机名的新用户例如我们执行以下语句DELETE FROM mysql.user WHERE Usernew-user2 AND Host127.0.0.1;CREATE USER new-user2127.0.0.1;执行结果如下可以看到MySQL会报错无法重复创建相同用户。删除后更新权限的正确语句如下DELETE FROM mysql.user WHERE Usernew-user2 AND Host127.0.0.1;FLUSH PRIVILEGES;CREATE USER new-user2127.0.0.1;此时可以成功创建执行结果如下修改密码普通用户只能修改自己的密码root用户则可以修改所有用户的密码。基本语法(1) MySQL5.5中的UPDATE方法UPDATE mysql.user SET PasswordPASSWORD(新密码) WHERE User用户名 [AND Host主机名];这里需要用到PASSWORD函数将密码明文进行加密然后存储在User表中。(2) MySQL5.5中的SET方法/* 为自己修改密码 */SET PasswordPASSWORD(新密码);/* root用户修改其他用户的密码 */SET Password FOR 用户名[主机名]PASSWORD(新密码);应用示例 /* root用户登陆 */UPDATE mysql.user SET PasswordPASSWORD(newpassword) WHERE Usernew-user3 AND Host%;执行结果如下我们可以看到修改语句正确执行但并没有生效。在密码修改之后必须也进行权限刷新才能生效。执行权限刷新语句FLUSH PRIVILEGES;重新执行结果如下可以看到密码修改成功。编程要求本关的任务为财务部门FinancialDepartment进行如下操作(1) 创建数据库新用户FD-user具体要求如下用户名FD-user主机名127.0.0.1登陆密码FDpassword(2) 修改FD-user用户的登陆密码为newFDpass(3) 删除FD-user用户注意执行语句的是root用户测试说明我们已经登录了MySQL你只需要在右侧代码窗口输入MySQL语句实现以上操作平台将自动编译你输入的MySQL语句。请注意语句的格式请不要删去注释信息成功通关后预计输出success-创建用户成功success-修改密码成功success-删除用户成功吾尝终日而思矣不如须臾之所学也吾尝而望矣不如登高之博见也。——《荀子·劝学》开始你的任务吧祝你成功如果你觉得这一关的内容对你有帮助请你在下面点赞。//请在下面输入创建新用户FD-user的MySQL语句/*********begin*********/CREATE USER FD-user127.0.0.1 IDENTIFIED BY FDpassword;/********* end *********///请在下面输入修改FD-user用户登陆密码的MySQL语句//注意当前用户为root用户/*********begin*********/UPDATE mysql.user SET PasswordPASSWORD(newFDpass) WHERE UserFD-user AND Host127.0.0.1;FLUSH PRIVILEGES;/********* end *********///请在下面输入删除FD-user用户的MySQL语句/*********begin*********/DELETE FROM mysql.user WHERE UserFD-user AND Host127.0.0.1;FLUSH PRIVILEGES;/********* end *********/有任何问题都可以随时关注私信
返回列表