师夷之技以制夷 吾尝终日而思矣,不如须臾之所学也

WTL与VC版本适配
作者在安装WTL7.5过程中遇到缺少VC6 Wizard的问题,并成功通过安装WTL7.1解决。但Alpha示例在VC6下无法运行,在VS2003下却正常。最终确定了WTL各版本与VC版本的对应关系。
导读:
  昨天安装了WTL7.5,发现没有VC6的Wizard,心里觉得不爽,又下载了一个WTL7.1,里面有VC6的Wizard,但是点击setup.js,发现有错误,我的系统是2k,于是在网站上找解决办法,其实很简单,运行一个命令就OK,regsvr32 /s scrrun.dll。
  安装好WTL后,发现里面例子Alpha在VC6下无法运行,而在vs2003里面可以运行,觉得很郁闷。上网找很久也没有解决办法,自己也曾尝试过,不敢随意修改库文件,暂时没解决。
  发现WTL和VC版本配合:
  WTL3.0 VC6
  WTL7.0 VC7
  WTL8.0 VC8
  其实就是一些宏定义导致的问题,所以暂时在vc7下使用WTL学习。

本文转自
http://www.cppblog.com/wlwlxj/archive/2005/12/19/1885.html
公司中需要对数据库进行操作的部门通常有很多,比如财务部门需要访问员工信息表,人力资源部门需要访问部门信息表。通常不同部门需要使用不同的用户身份登陆数据库,这就需要为不同部门创建不同数据库用户。 本关任务: 创建新的数据库用户 删除指定的数据库用户 相关知识 在之前的实训中,我们已经介绍过通过使用命令行登陆MySQL,输入命令:mysql -uroot -p123123 -h127.0.0.1,如下图。 这条命令中,我们的用户名是root,密码是123123,在MySQL中root是管理员用户,具有最高权限,但是实际应用中出于权限管理和安全的考虑,通常会给使用者建立单独的用户身份来登陆数据库。 USER表 在MySQL5.5中会提供默认的3个数据库: information_schema mysql performance_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-user2"@"127.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 User="new-user2" AND Host="127.0.0.1"; CREATE USER "new-user2"@"127.0.0.1"; 执行结果如下: 可以看到MySQL会报错,无法重复创建相同用户。 删除后更新权限的正确语句如下: DELETE FROM mysql.user WHERE User="new-user2" AND Host="127.0.0.1"; FLUSH PRIVILEGES; CREATE USER "new-user2"@"127.0.0.1"; 此时可以成功创建,执行结果如下: 修改密码 普通用户只能修改自己的密码,root用户则可以修改所有用户的密码。 基本语法: (1) MySQL5.5中的UPDATE方法 UPDATE mysql.user SET Password=PASSWORD("新密码") WHERE User="用户名" [AND Host="主机名"]; 这里需要用到PASSWORD函数,将密码明文进行加密,然后存储在User表中。 (2) MySQL5.5中的SET方法 /* 为自己修改密码 */ SET Password=PASSWORD("新密码"); /* root用户修改其他用户的密码 */ SET Password FOR "用户名"[@"主机名"]=PASSWORD("新密码"); 应用示例 : /* root用户登陆 */ UPDATE mysql.user SET Password=PASSWORD("newpassword") WHERE User="new-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-删除用户成功 终日矣,不如须臾所学也;而望矣,不如登高之博见也。——《荀子·劝学》 开始你的任务吧,祝你成功! 如果你觉得这一关的内容对你有帮助,请你在下面点赞。
06-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值