1.1. mysql数据库介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL (sequel)语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境
1.2. Mysql 数据库下载及安装
1.2.1. 【下载】
① 打开官网
②点击下载
③选择downloads
④点击mysql installer
⑤选择mysql服务
⑥选择download的位数。
1.2.2. 【安装】
① 将下载好的压缩包,如果是32位则必须下载32位的zip,64位亦然。
② 解压到c:\program file中,或其他的磁盘中。
③ window+r使用cmd控制台,管理员权限
④在mysql-5.7.11.winx64 中创建data文件夹。
⑤配置d://install/mysql-5.7.11.winx64/my_default.ini文件,首先去掉前面的“#”号,然后修改后面的值为解压路径
注意:以上的basedir和datadir是根据自定义mysql-5.7.11-winx64的解压路径填写,不要出现汉字目录即可。
⑤ 进入到数据库的bin目录
⑥ 安装 mysqld –insatll
⑦ 初始化 mysqld –initialize
第一步:看看data中有没有内容
第二步:清空data文件
第三步:初始化,执行命令:mysqld –initialize
data中如果有一下内容则表示初始化完成
⑧ 重启mysql服务:net start mysql,关闭服务命令:net stop mysql
⑨ 登录:mysql -uroot -ppassword 或者 mysql -u userName -p
在*.err寻找密码:
密码就在root@localhost的后面:
注意:这里的密码是随机生成的,复制的时候千万注意空格。
⑩ 登录成功后的效果如下:
⑪ 登录mysql后,当前mysql数据不允许操作需要重置密码
重置密码:set password = password(“admin”);
【查看所有的数据库】 show databases;
- INFORMATION_SCHEMA:提供了访问数据库元数据的方式。
元数据是关于数据的数据,如数据库名、表名、列的数据类型或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。你可以讲INFORMATION_SCHEMA看成一个信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此你将无法看到与之相关的任何文件。每位MySQL用户均有权访问这些表,但仅限于表中的特定行,在这类行中含有用户具有恰当访问权限的对象。 - PERFORMANCE_SCHEMA:主要用于收集数据库服务器性能参数。MySQL用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表。performance_schema提供以下功能:提供进程等待的详细信息,包括锁、互斥变量、文件信息;保存历史的事件汇总信息,为提供MySQL服务器性能做出详细的判断;对于新增和删除监控事件点都非常容易,并可以随意改变mysql服务器的监控周期,例如(CYCLE、MICROSECOND)。通过以上得到的信息,DBA能够较明细得了解性能降低可能是由于哪些瓶颈。
- mysql:这个是mysql的核心数据库,类似于sql server中的master表,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。不可以删除,如果对mysql不是很了解,也不要轻易修改这个数据库里面的表信息。
- sys (system)整个数据库的相关配置
1.2.3. 创建用户赋予权限
【创建用户】create user “user_name”@”host” identified by “pwd”;
【查看(数据)用户】select user,host from mysql.user;
【用户重命名】rename user 旧的用户名 to 新的用户名;
注意:如果是非%的host主机再修改用户名时使用一下命令:如果修改zhangsan@localhost:
【查看用户权限】show grants for ‘userName’@’host’//注意host如果是“%”需要加引号
此时发现以上的lisi用户和zhaoliu用户并没有权限。而wangwu已经拥有了所有的特权。
【授予权限】grant (create | drop | alter | select | update | insert | delete | all) privileges on 数据库.表 to 用户@主机 ;
[案例]
mysql>grant all privileges on *.* to wangwu@localhost;//给wangwu用户授予对所有数据库的所有表具有所有的权限
检测用户的权限:退出当前用户,使用wangwu登录账户,查看是否可以看到用户
发现wangwu用户已经可以看到所有数据库。
注意:当*.*设置为all权限时则可以对库具备所有权限包括drop权限,但是不能给其他用户赋予权限。当test.student设置为all权限则对库具有所有权限,但不包括库的drop权限。不能给其他用户授权。
【撤销用户权限】revoke all privileges on databasename.tablename from‘username’@’host’;
注意:撤销权限时需要撤销当前用的所有权限,不能撤销一部分权限。否则会报错误
退出当前root用户,登录wangwu用户,查看所有数据库
发现已经无法查看所有的数据库了。
【删除用户并取消所有的特权】drop user ‘userName’@’host’;
[案例] 删除zhaoliu的所有权限后测试。
① mysql> show grants for zhaoliu@127.0.0.1; //查看zhaoliu的权限
发现zhaoliu具有所有特权类似于root用户
② 删除用户 mysql>drop user zhaoliu@127.0.0.1;
③ 登录zhaoliu用户检测是否可以登录
发现已经无法登录数据库了。
【赋予权限并创建用户】grant (create | drop | alter | select | update | insert | delete) privileges on 数据库.表 to 用户@主机 identified by ‘密码’;
1.2.4. 卸载数据库服务
【卸载数据库服务】mysqld –remove
暂无评论内容