MySQL数据类型解析

2024-07-19

MySQL数据类型解析(共9篇)

MySQL数据类型解析 篇1

-03-03MYSQL中获取得最后一条记录的语句

-07-07mysql 常用数据库语句 小练习

-04-04MySQL复制的概述、安装、故障、技巧、工具(火丁分享)

2011-02-02MySQL 4.0 升级到mysql 5.0的方法

2011-11-11MySQL DBA 常用手册小结

-05-05解析SQLite中的常见问题与总结详解

2013-04-04跟着hsp一步步学mysql优化的方法

2013-12-12centos下mysql主从复制设置详解

-03-03不重启Mysql修改root密码的方法

2011-06-06win mysql单向同步配置步骤[已测]

MySQL数据类型解析 篇2

MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快,因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段。

另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。

对于某些文本字段,例如“省份”或者“性别”,我们可以将它们定义为ENUM类型。因为在MySQL中,ENUM类型被当作数值型数据来处理,而数值型数据被处理起来的速度要比文本类型快得多。这样,我们又可以提高数据库的性能。

2、使用连接(JOIN)来代替子查询(Sub-Queries)

MySQL从4.1开始支持SQL的子查询。这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。例如,我们要将客户基本信息表中没有任何订单的客户删除掉,就可以利用子查询先从销售信息表中将所有发出订单的客户ID取出来,然后将结果传递给主查询,如下所示:

DELETE FROM customerinfo

WHERE CustomerID NOT in (SELECT CustomerID FROM salesinfo )

使用子查询可以一次性的完成很多逻辑上需要多个步骤才能完成的SQL操作,同时也可以避免事务或者表锁死,并且写起来也很容易。但是,有些情况下,子查询可以被更有效率的连接(JOIN).. 替代。例如,假设我们要将所有没有订单记录的用户取出来,可以用下面这个查询完成:

SELECT * FROM customerinfo

WHERE CustomerID NOT in (SELECT CustomerID FROM salesinfo )

如果使用连接(JOIN).. 来完成这个查询工作,速度将会快很多。尤其是当salesinfo表中对CustomerID建有索引的话,性能将会更好,查询如下:

SELECT * FROM customerinfo

LEFT JOIN salesinfoON customerinfo.CustomerID=salesinfo.

CustomerID

WHERE salesinfo.CustomerID IS NULL

连接(JOIN).. 之所以更有效率一些,是因为 MySQL不需要在内存中创建临时表来完成这个逻辑上的需要两个步骤的查询工作。

3、使用联合(UNION)来代替手动创建的临时表

MySQL 从 4.0 的版本开始支持 UNION 查询,它可以把需要使用临时表的两条或更多的 SELECT 查询合并的一个查询中。在客户端的查询会话结束的时候,临时表会被自动删除,从而保证数据库整齐、高效。使用 UNION 来创建查询的时候,我们只需要用 UNION作为关键字把多个 SELECT 语句连接起来就可以了,要注意的是所有 SELECT 语句中的字段数目要想同。下面的例子就演示了一个使用 UNION的查询。

SELECT Name, Phone FROM client

UNION

SELECT Name, BirthDate FROM author

UNION

SELECT Name, Supplier FROM product

4、事务

尽管我们可以使用子查询(Sub-Queries)、连接(JOIN)和联合(UNION)来创建各种各样的查询,但不是所有的数据库操作都可以只用一条或少数几条SQL语句就可以完成的。更多的时候是需要用到一系列的语句来完成某种工作。但是在这种情况下,当这个语句块中的某一条语句运行出错的时候,整个语句块的操作就会变得不确定起来。设想一

MySQL数据类型解析 篇3

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

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

不对数据库进行保护的常见原因是由于这一工作“麻烦”而“复杂”。这确实是事实,但如果你应用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数据类型解析 篇4

一). ubuntu下mysql安装布局:

/usr/bin                     客户端程序和mysql_install_db

/db                            数据库和日志文件

/var/run mysqld       服务器

/etc/mysql mysql      配置文件my.cnf

/usr/share/mysql      字符集,基准程序和错误消息

/etc/init.d/mysql       启动mysql服务器

二). 设置mysql服务器随开关机自动启动和关闭:

系统 -> 系统管理 -> 服务

进行到“服务设置”窗口后,激活mysql数据库服务即可

三). 修改mysql数据库文件的存储目录:

假设我们指定的数据库文件目录为/db

1. 创建目录 /db,并修改其拥有者及所属群组为mysql:mysql.命令:chown mysql:mysql db

2. 关闭mysql数据库服务:mysqladmin -u root -p shutdown

3. 修改mysql配置文件my.cnf:将datadir=/var/lib/mysql改为datadir=/db

4. 重新初始化数据文件:执行mysql_install_db

5. 启动mysql数据库服务:sudo /etc/init.d/mysql start

6. 设置mysql数据库root密码:mysqladmin -u root password ‘new-password’

此时我们会发现/db目录下出现mysql相关文件,

如果我们新建数据库,其数据库文件也将出现在db目录下。表示我们修改的mysql数据库文件存储目录正确。

四). 配置mysql数据库的INNODB存储引擎:

1 . 查看mysql存储引擎情况: 登录mysql数据库,在mysql>提示符下搞入show engines;命令。发现: InnoDB YES,说明此mysql数据库服务器支持InnoDB引擎。

2. 设置InnoDB为默认引擎:在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句,保存。

3. 重启mysql服务器:mysqladmin -u root -p shutdown(回车),sudo /etc/init.d/mysql start(回车)。

MySQL数据类型解析 篇5

*sudo /etc/init.d/mysql stop拷贝原来的目录

*cp -r /var/lib/mysql /home/yourname/somewhere

修改权限

*sudo chmod mysql:root /home/yourname/somewhere/mysql

*sudo chmod 777 /home/yourname/somewhare/mysql

编辑配置文件 /etc/mysql/my.cnf

*将datadir改为 /home/yourname/somewhere/mysql

编辑ubuntu特有的权限控制 apparmor配置文件

*vi /etc/apparmor.d/usr.sbin/mysqld

*修改两行为 /var/lib/mysql/ 为你的目录 /home/yourname/sowewhere/

*注意别忘了后面的斜杠,不然会出现show databases时候错误

重新加载配置

*/etc/init.d/apparmor reload

*/etc/init.d/mysql start

实在不行重启即可,

UBUNTU如何修改mysql的默认目录数据目录

验证: mysql -u root -p

MySQL数据类型解析 篇6

实例讲解MySQL数据库的查询优化技术 (1)

因为这个语句要检索的是分离的行的集合,所以应该改为如下语句:

★ 深度讲解交换技术发展史

★ 的百度SEO优化技术

★ 有线电视技术与宽带技术的融合论文

★ 改进的第三层交换机技术讲解

★ 路由器技术中经常应用的路由接口

★ 如何做好宽带营销范文

★ 单位宽带申请书精选

★ 如何更改路由器密码

★ 百度的优化精髓分词技术详解

MySQL数据类型解析 篇7

软件环境是 windows 2003server企业版sp1+Apache HTTP Server 2.0+mysql5+php5+mysql5

我直接是将Discuz!EXP的一个软件包,( 最大程度提高Discuz!EXP的兼容性,计算机中同时也许正在运行其他MySQL,Discuz!EXP中的MySQL使用6033端口启动服务以避免与您计算机中运行的)在Windows下直接可配置出PHP的运行环境.便配置简单了不少.装上后,可直接配置出上面的环境.(注意要停止IIS服务,以免端口相同而引起冲突.)在安装的时,端口号是可以改变的,如果你不用IIS的话,可直接使用80端口,已符合HTTP的默认端口,我直接使用的80端口.里面还有相关的设置数据库名称的设置,按设置一步步完成即可.装完了,在IE中输入localhost检测是否安装成功.

下面在CMD命令下查看Mysql数据库

开始->运行 中输入cmd

在命令行中找到Discuz!EXP安装所在的目录,我是安装在D盘.(应用程序都不装在C盘)

必依次输入以下命令便可以查看Mysql数据库了.

cd ”Discuz!EXP"

cd MySQL5

cd bin

mysql -uroot -p

show database;

use (你的在配置Discuz!EXP时为网站所设置的数据库的名字)

MySQL数据类型解析 篇8

Changes:

1. SJA now supports an additional -r parameter that tells how big CHUNKS should be when copying to an empty table.

2. The -r parameter only has effect with Data Sync jobs and is ignored... with other types of jobs.

3. This is a command line option only, and is not supported from the GUI Wizard.

4. A GUI improvement was made in the Data Sync Wizard, clarifying the difference between syncing “All tables” (existing at any time) and all tables existing at the time of building the job.

5. It is now also much easier to select “almost all tables” for a Data Sync job

MySQL数据类型解析 篇9

MILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥”>在服务器上安装、使用MySQL的注意事项

一、怎么样取得最新版本的MySQL?

要安装MySQL,首先要当然要取得它的最新版本,虽然大家都知道在FreeBSD的Packages中可以找到MySQL,但是我还是建议大家到网络上去找最新版本的MySQL,我介绍大家到www.mysql.org去下载,这里的最新版本是MySQL 3.23 versions。

二、安装MySQL时候的注意事项?

1、如果您是用MySQL+Apache,使用的又是FreeBSD网路操作系统的话,安装时候你应按注意到FreeBSD的版本问题,在FreeBSD的3.0以下版本来说,MySQL Source内含的MIT-pthread运行是正常的,但在这版本以上,你必须使用native threads,也就是加入一个with-named-thread-libs=-lc_r的选项。

2、如果您在COMPILE过程中出了问题,请先检查你的gclearcase/“ target=”_blank“ >cc版本是否在2.81版本以上,gmake版本是否在3.75以上。

3、如果不是版本的问题,那可能是你的内存不足,请使用./configure -- with-low-memory来加入,

4、如果您要重新做你的configure,那么你可以键入rm config.cache和make clean来清除记录。

5、我们一般把MySQL安装在/usr/local目录下,这是缺省值,您也可以按照你的需要设定你所安装的目录。

三、启动和停止MySQL

如果你的机器上从未安装过MySQL的话,在安装MySQL时,最后一个键入的命令是/usr/local/mysql-3.23X/scripts/mysql_install_db

如果你是同时安装多台机器的话,你可以编辑一下这档案,这样一来可以使你方便的设置好每一台的权限。

1、在安装目录/usr/local启动mysql可以使用/usr/local/share/mysql/mysql.server start记得把mysql.server的属性设置成777

2、要停止mysql daemon可以使用/usr/local/bin/mysqladmin shutdown来实现

3、如果你的mysql已经设置了密码,你必须使用mysqladmin -u root -p shutdown来实现

四、用root建一个MYSQL的使用者

你需要先用root登入机器,然后改变目录存取权限chown -R mysql /usr/local/var,接着修改mysql.server档案,这文件位于/usr/local/share/mysql/下,把mysql_daemon_user=root改成mysql_daemon_user=mysql。

但是在以后新增资料库之后,记得把你的相关档案存取权限改过去:chown -R mysql /usr/local/var/some_new_dbs

如果你希望你的电脑启动时候自动加载mysql,你只要在/etc/rc.local加入一行/usr/local/mysql/share.server start

上一篇:初二写一项特殊的作业的作文800字下一篇:像什么一样造句