这是使用SQL语句实现
这是使用工具实现.
4.创建和删除表
数据库创建之后
,可使用如下命令来在现存的数据库中创建或删除表
在数据库sales中创建四个表.
创建完成之后查看有哪些表,然后进行删除表.
4.查看表结构.
表创建完成后,可使用如下命令来查看表的结构.
可以看到表中的数据结构.
5.向表中添加并查看数据.
添加后进行查看表中的数据.
6.维护索引
MySQL数据库表的所有列类均可创建索引,一个表最多可有16个索引,同时,MySQL可以在一个表的多个列上创建索引,一个索引可以由最多15个列组成.
1)创建索引.
创建test表,同时使用name列的前10字符创建索引.创建后进行查看.
使用CREATE INDEX语句为现存表employee中的name列创建索引.
使用ALTER TABLE语句为现存表products中的name列创建索引.
2)删除索引
可以使用DROP INDEX或ALTER TABLE语句.
使用SHOW查看的时候,可知被删除了.
使用ALTER语句删除.
四.MySQL数据目录和日志文件
1.MySQL数据目录的位置.
默认情况下,通过RPM包安装的MySQL数据目录为/var/lib/mysql.
查看配置文件my.cnf 的内容.
使用工具查看.
2.MySQL数据目录的结构.
MySQL数据目录中包含了由服务器管理的所有数据库和表,它们被组织成一个树状结构,该结构是通过LINUX文件系统的层次结构用简单的方式实现.
MySQL每个数据库都对应自己的数据库目录,这些数据库目录作为子目录存储在MySQL数据目录中,与其所代表数据库名称相同.
可看到有3个数据库目录.
数据库中的表对应数据库目录中的文件,每个表在数据库目录中都对应3个文件.一个是格式文件,一个数据文件和一个索引文件.每个文件的基本名称都与该表相同.扩展名指明该文件的类型.如下:
格式文件:.frm
数据文件:.MYD
索引文件:.MYI
通过下面的操作可以查看数据库目录中的表文件.
显示mysql数据库中目录的表文件.
3.MySQL日志文件.
这些文件提供了关于服务器运行的重要信息,对数据库的管理和维护是非常重要的.
1)错误日志.包含了服务器写入标准错误输出设备的所有消息,同时还包含了MySQL服务的启动和关闭事件.错误日志是由实用程序safe_mysqld产生,因此在通过调用safe_mysqld启动MySQL服务时,错误日志才会存在.
默认情况下,错误日志并不存储在MySQL数据目录中,是由于配置文件/etc/my.cnf中指定为/var/log/mysqld.log.
可看到err-log这一行指定了错误日志文件为/var/log/mysqld.log.
这是用命令#less /var/log/mysqld.log返回错误日志的内容.其中对MySQL服务的启动和关闭做了记录.
2)常规日志和更新日志.常规日志是用来记录有关MySQL服务器运行的常规信息,包括用户的连接,查询以及其它各种事件.更新日志用来记录修改数据库的查询信息.
常规日志和更新日志默认情况下并没启用.
可根据需要启用.
添加log log-update选项来启用更新日志.
五.MySQL数据库用户和权限
MySQL提供了一个非常实用的权限系统,用于管理和控制某个用户使用其所提供的主机名,用户名和密码能否连接到指定的数据库服务器,能否打开所需数据库和能否对热气进行读取,添加,修改和删除等操作.
1.系统数据库mysql
MySQL内置了一个系统数据库mysql,其中包含存放着权限系统所需要的数据的授权表.当MySQL服务器启动时,会首先读取系统数据库mysql中的授权表,亲将表中相关的数据库装入内存;当用户连接数据库服务器并对数据库进行存取操作时,MySQL会根据这些表中的数据做相应的权限控制.因此,在设置用户的存取权限时,必然要对mysql数据库有关的表进行修改.
mysql数据库中用于权限系统的授权表主要包括user,db,host,tables_priv,columns_priv.可以启用客户端程序mysql.执行show tables命令进行查看.
2.MySQL权限系统的工作原理
MySQL权限系统保证所有的用户可以严格按照事先分配好的权限对数据库进行允许的操作.
1)第一阶段--连接验证阶段.
用户的身份根据两个信息来确定,即从哪个主机连接和使用哪个MySQL用户.连接验证需要使用系统数据库mysql中user表的Host,User和Password 共3个范围字段.
2)第二阶段--请求验证阶段.
这一阶段,MySQL权限系统将会检查用户所发出的每一个对于数据库的操作请求,以确定用户是否具有足够的权限来执行这一操作.
3.连接MySQL服务器
要想使用mysql客户端程序对数据库进行管理,首先需要连接将要管理的MySQL服务器.连接时,需要指定主机名,用户名和口令.
4.MySQL的初始权限.
MySQL安装完成之后,在启动MySQL服务时,会加载授权表中的初始权限设置,这些初始权限存储在user和db表中.主要包括:
内置一个口令为空的root用户,是超级用户.使用root用户连接服务器时,必须由本地主机(localhost)发出.
内置一个匿名用户,该用户可对有一个名为"test"或名称以"test_"开始的数据库进行任何操作.使用匿名用户连接服务器时,也必须由本地主机发出.
其它权限均被拒绝.
5.设置MySQL超级用户root口令.
将口令设置为crq
看最后一个是将匿名用户删除.
6.设置MySQL数据库权限示例.
1)添加新的用户权限.
使用root登录后,使用GRANT语句来添加一个可以从本地主机连接到MySQL服务器的用户crq,但连接时必须使用口令crqpass.
使用同样的方法添加一个可以从其它任何地方连接到MySQL服务器的超级用户crq,使用口令为crqpass.
2)授予用户特定的权限
使用GRANT语句添加一个可以从本地主机连接到MySQL服务器的用户yang,并且授予其针对sales数据库中enployee表的select 和insert权限.
查看数据库中的表.
退出重新连接数据库服务器.
表明当前用户yang仅针对表employee具有操作权限,用户不具有操作权限的表对于该用户来说是不可视的,不会出现在列表中.
表明当前用户对表有SELECT权限.
表明当前用户有INSERT权限.
当前用户不允许对employee表的DELETE权限.
3)撤消用户权限.如果想撤消用户权限,需要使用REVOKE语句.
然后插入数据的时候就不行了,说明yang 针对employee表的insert权限已被撤消.
7.MySQL数据库的备份和恢复
把数据库sales备份到mysql.bak目录.然后查看备份成功.
先删除数据库sales,再创建. sales.
可看到恢复成功.
到这里全部介绍完毕.