ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于MySQL

关于MySQL

原创 Linux操作系统 作者:mi_zy 时间:2013-07-14 20:18:19 0 删除 编辑
MySQL是多用户,多线程的SQL数据库服务器。
管理软件:命令行:mysql,mysqladmin
图形管理工具:mysql administrator,mysql query brower和mysql workbench
web界面管理工具:phpMyAdmin,phpMyBackupPro
 
二所ATC系统

目前全系统均运行在linux advanced server 5.8上,各子系统均安装32位操作系统。

数据库版本:MySQL-server-community-5.1.42-0.rhel4

 

 

备份数据库:

mysqldump  –uroot  –pabc  atcdb  --opt  –R>/root/ZZZZ.bak

备份与所属现场有关的表数据:

mysqldump –uroot –pabc atcdb --tables tablename > tablename.bak

mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。

mysqldump支持下列选项: 

--opt   
同--quick --add-drop-table --add-locks --extended-insert --lock-tables。

 

--add-locks   
在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。   
--add-drop-table   
在每个create语句之前增加一个drop table。   
--allow-keywords   
允许创建是关键词的列名字。这由表名前缀于每个列名做到。   
-c, --complete-insert   
使用完整的insert语句(用列名字)。   
-C, --compress   
如果客户和服务器均支持压缩,压缩两者间所有的信息。   
--delayed   
用INSERT DELAYED命令插入行。   
-e, --extended-insert   
使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句) 

-l, --lock-tables.   
为开始导出锁定所有表。  

-q, --quick   
不缓冲查询,直接导出至stdout;使用mysql_use_result()做它。

--routines, -R

导出存储过程以及自定义函数。

--------------------------------------------------------------------------------------------
二所ATC数据库使用的是:MyISAM存储引擎,表存储成3个文件
frm:存储表的结构
myd存储数据
myi存储索引
MyISAM不支持事务的完整性和并发性。
mysql的配置文件是/etc/my.cnf
查看表的存储引擎:
 1、show table status from atcdb where name='tab_routes' \G;
 Engine: MyISAM
2、 show create table tab_routes' \G;
 
数据文件存储目录:/var/lib/mysql
默认字符集:
show variables like 'collation_%';
      collation_connection | latin1_swedish_ci |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
 
show variables like 'character_set__%';
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/
MySQL的字符集支持(Character Set Support)有两个方面:
      字符集(Character set)和排序方式(Collation)。
对于字符集的支持细化到四个层次:
      服务器(server),数据库(database),数据表(table)和连接(connection)。
1.MySQL默认字符集
MySQL对于字符集的指定可以细化到一个数据库,一张表,一列,应该用什么字符集。
但是,传统的程序在创建数据库和数据表时并没有使用那么复杂的配置,它们用的是默认的配置,那么,默认的配置从何而来呢?     (1)编译MySQL 时,指定了一个默认的字符集,这个字符集是 latin1;
     (2)安装MySQL 时,可以在配置文件 (my.ini) 中指定一个默认的的字符集,如果没指定,这个值继承自编译时指定的;
     (3)启动mysqld 时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配置文件中的配置,此时 character_set_server 被设定为这个默认的字符集;
     (4)当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为character_set_server;
     (5)当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集;
     (6)在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;
     (7)当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集;
修改默认字符集
(1) 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,
如     default-character-set = utf8
       character_set_server = utf8
    修改完后,重启mysql的服务,service mysql restart
 (2) 还有一种修改字符集的方法,就是使用mysql的命令
    mysql> SET character_set_client = utf8 ;
用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,至于为什么没有这个文件而MySQL却也能正常启动和作用,在这有两个说法,
第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动;
!第二种说法,MySQL在启动时自动使用/usr/share/目录下的my-medium.cnf文件,这种说法仅限于rpm包安装的MySQL。(验证:将my-medium.cnf改名后mysql可以启动,说明不是使用这个文件,前提条件:/etc/下没有my.cnf)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7970627/viewspace-766225/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 二所ATC操作
请登录后发表评论 登录
全部评论
空管自动化,传输,对空通信

注册时间:2011-02-02

  • 博文量
    175
  • 访问量
    333153