61阅读

mysql数据库-MySQL数据库中与 ALTER TABLE 有关的问题

发布时间:2018-03-13 所属栏目:mysql数据库

一 : MySQL数据库中与 ALTER TABLE 有关的问题

ALTER TABLE将表更改为当前字符集。如果在执行ALTER TABLE操作期间遇到重复键错误,原因在于新的字符集将2个键映射到了相同值,或是表已损坏。在后一种情况下,应在表上运行REPAIR TABLE。

如果ALTER TABLE失败并给出下述错误,问题可能是因为在ALTER TABLE操作的早期阶段出现MySQL崩溃,没有名为A-xxx或B-xxx的旧表:

Error on rename of './database/name.frm'
to './database/B-xxx.frm' (Errcode: 17)

在该情况下,进入MySQL数据目录,并删除其名称为以A-或B-开始的所有文件(或许你希望将它们移动到其他地方而不是删除它们)。

ALTER TABLE的工作方式如下:

用请求的结构变化创建名为A-xxx的新表。

将所有行从原始表拷贝到A-xxx。

将原始表重命名为B-xxx。

将A-xxx重命名为原始表的名称。

删除B-xxx。

如果在重命名操作中出错,MySQL将尝试撤销更改。如果错误很严重(尽管这不应出现),MySQL会将旧表保留为B-xxx。简单地在系统级别上重命名表文件,应能使数据复原。

如果在事务性表上使用ALTER TABLE,或正在使用Windows或OS/2操作系统,如果已在表上执行了LOCK TABLE操作,ALTER TABLE将对表执行解锁操作。这是因为InnoDB和这类操作系统不能撤销正在使用的表。

二 : MySQL数据库中的重要数据应当如何保护

目前,保护数据免受未授权用户的侵犯是系统管理员特别关心的问题。如果你现在用的是MySQL,就可以使用一些方便的功能来保护系统,来大大减少机密数据被未授权用户访问的风险。

企业最有价值的资产通常是其数据库中的客户或产品信息。因此,在这些企业中,数据库管理的一个重要部分就是保护这些数据免受外部攻击,及修复软/硬件故障。

在大多数情况下,软硬件故障通过数据备份机制来处理。多数数据库都自带有内置的工具自动完成整个过程,所以这方面的工作相对轻松,也不会出错。但麻烦却来自另一面:阻止外来黑客入侵窃取或破坏数据库中的信息。不幸的是,一般没有自动工具解决这一问题;而且,这需要管理员手工设置障碍来阻止黑客,确保公司数据的安全。

不对数据库进行保护的常见原因是由于这一工作“麻烦”而“复杂”。这确实是事实,但如果你应用MySQL,就可以使用一些方便的功能来显著减少面临的风险。下面列出了以下几个功能:

◆删除授权表中的通配符

MySQL访问控制系统通过一系列所谓的授权表运行,从而对数据库、表格或栏目级别的用户访问权利进行定义。但这些表格允许管理员为一名用户设定一揽子许可,或一组应用通配符的表格。这样做会有潜在的危险,因为黑客可能会利用一个受限的账户来访问系统的其他部分。由于这一原因,在设置用户特权时要谨慎,始终保证用户只能访问他们所需的内容。在给个别用户设定超级特权时要尤其小心,因为这种级别允许普通用户修改服务器的基本配置,并访问整个数据库。

建议:对每个用户账户应用显示特权命令,以审查授权表,了解应用通配符许可是否恰当。

◆要求使用安全密码

用户账号的安全与用来保护它们的密码密切相关。因此,在安装MySQL时第一件事就应该设置MySQL根账号的密码(默认为空)。修复这一漏洞后,接下来就应要求每个用户账号使用一个密码,且不要使用生日、用户名或字典中的单词这些容易识别的启发式密码。

建议:应用MySQL-安全-授权选项避免使用旧的,不大安全的MySQL密码格式。

◆检查配置文件许可

一般来说,要使服务器连接更为快速方便,单个用户和服务器管理员必须把他们的用户账号密码存储在单用户MySQL选项文件中。但是,这种密码是以纯文本形式存储在文件中的,很容易就可以查阅。因此,必须保证这样的单用户配置文件不被系统中的其他用户查阅,且将它存储在非公共的位置。理想情况下,你希望单用户配置文件保存在用户的根目录,许可为0600。

◆加密客户与服务器之间数据传送:

MySQL(及其它)客户与服务器构架的一个重要问题就是通过网络传送数据时的安全问题。如果客户与服务器间的交互以纯文本形式发生,黑客就可能“嗅出”被传送的数据包,从而获得机密信息。你可以通过激活MySQL配置中的SSL,或应用一个OpenSSH这样的安全应用来为传送的数据建立一个安全的加密“通道”,以关闭这一漏洞。以这种形式加密客户与服务器连接可使未授权用户极难查阅往来的数据。

◆禁止远程访问

如果用户不需要远程访问服务器,你可以迫使所有MySQL连接通过UNIX插槽文件来完成,从而大大减少网络受攻击的风险。这一过程可通过跳过网络选项启动服务器来完成。这样可以阻止TCP/IP网络连接到MySQL上,保证没有用户可以远程连接系统。

建议:可以在MySQL服务器配置中添加捆绑地址127.0.0.1指令来增强这一功能,迫使MySQL捆绑当地机器的IP地址来保证只有同一系统中的用户可以连接到MySQL。

◆积极监控MySQL访问记录

MySQL中带有很多不同的日志文件,它们记录客户连接,查询和服务器错误。其中,最重要的是一般查询日志,它用时间标签记录每名客户的连接和中断时间,并记录客户执行的每个查询。如果你怀疑发生了不寻常的行为,如网络入侵,那么监控这个日志以了解行为的来源是个好方法。

保护你的MySQL数据库是一个日常工作。因此,即使完成了上述步骤,也还需要你利用更多的时间去了解更多的安全建议,积极监控并更新你的系统安全。

【相关文章】

  • MySQL数据库敏感数据安全保护六大措施
  • MySQL数据库安全配置指南

三 : 在WIN7下安装MYSQL数据库 图解安装

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装——简介
MYSQL 是一个关系型数据库,是用于WEB应用开发最流行的关系管理数据库系统之一,如果要使用MYSQL,那就了解MYSQL的安装。具体安装步骤:
[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装——知识点
WIN7
MYSQL5
[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装——详细知识

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 一
打开MYSQL安装程序:‘Setup.exe’:

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 二
点击'Next':
安装类型有三种:
1. Typiccal(默认)
2. Complete(完全)
3. Custom(用户自定义)
选择第三种 Custom(用户自定义)

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 三
点击'Next':
1. 选择开发者部分如图所示
2. 修改MYSQL安装目录到D盘下

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 四
单击‘Next’

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 五
点击‘Install’ 安装:

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 六
询问是否注册一个MySQL.com的账号,这个我们不要注册:
选择Skip Sign-Up
点击'next' 跳过

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 七
软件安装完成,并启动MySQL配置向导
点击‘Finish’

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 八
向导页面,单击'Next'

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 九
我们选择手动配置:
单击'Next'

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 十
选择 开发测试点击'Next'

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 1一
选择第二种 服务器类型
单击'Next'

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 1二
对InnoDB Tablespace 进行配置:
默认单击‘Next’

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 1三
选择连接数:
选择手动设置:15个左右
单击‘Next’

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 1四
设置MySQL端口号:
默认选择
单击'Next'

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 1五
设置编码格式:
这个特性重要,我们要在数据库存储中文,就一定选择中文字符集
必须要选择‘utf8’

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 1六
选择是否将MYSQL安装为windows服务
默认选择
单击'Next'

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 1七
为默认用户root(超级管理员权限)设置一个密码:
设置密码为:root
点击'Next'

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 1八
确认配置:
单击'Execute'

[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装 1九
设置完毕,安装完成
[mysql安装图解]在WIN7下安装MYSQL数据库 图解安装——注意事项
在第15步骤的时候,一定设置编码格式utf8,不然在保存中文会出现乱码
本文标题:mysql数据库-MySQL数据库中与 ALTER TABLE 有关的问题
本文地址: http://www.61k.com/1130600.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1