当前位置:文档之家› MySQL数据库简介

MySQL数据库简介

Mysql数据库简介
MySQ是一种开放源代码的关系型
数据库管理系统,MySQL数据库系统使
用最常用的数据库管理语言--结构化
查询语言(SQL)进行数据库管理。

由于MySQL是开放源代码的,因此
任何人都可以在General Public
License的许可下下载并根据个性化的需要对其进行修改。

MySQL因为其速度、可靠性和适应性而备受关注。

Mysql数据库的优势
如今很多大型网站已经选择MySQL数据库来存储数据。

MySQL数据库的使用以及非常广泛,尤其是在Web应用方面。

由于MySQL数据库发展势头迅猛, Sun 公司于2008年收购了MySQL数据库。

这笔交易的收购价格高达10亿美元。

这足以说明MySQL数据库的价值。

MySQL数据库有很多的优势,下面总结了其中几个优势:
1.MySQL是开放源代码的数据库
2.MySQL的跨平台性
3.价格优势
4.功能强大且使用方便
一些简单的sql命令:
1:使用SHOW语句找出在服务器上当前存在什么数据库:mysql> SHOW DATABASES;
2:2、创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values (”hyq”,”M”);
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex=”f” where name=’hyq’;
mysql备份容灾基础
备份的方法有很多,命令行上通过mysqldump进行全备份,开启二进制文件进行实时的增量备份,为防止物理上的不可抗性灾难,对于重要的备份数据,有必要通过上传到异地的服务器来确保数据的安全性。

为提高mysql数据库的并发负载能力,有必要对处理大数据量的数据库系统进行主从复制,读写分离等相对复杂的工作。

如下图所示
)
下图为实现主从复制的具体过程;
Mysql-proxy的作用,可以实现在应用访问数据库时,实现对数据库的读写分离,在主服务器上写入新的数据,在需要读取数据时选择slave数据库。

它能够根据自己的想法去构造目标的MySQL Proxy 应
用,比如监控SQL 执行、数据流量、读写分离。

但由于我们使用MySQL Proxy 并不能非常轻易的解决一些问题(读写分离、数据切分、水平切分、负载均衡),而是需要写大量的Lua Script,这些Lua 并不是现成的而是自己需要去写。

这个工作对于并不熟悉MySQL Proxy 内置变量、MySQL Protocol 来说是非常困难的。

正是由于这些原因,推动着阿里的团队不同的使Amoeba更加适用于mysql
Amoeba是由阿里巴巴的数据库团队开发的一个类似于proxy的中间件,他们的作用相当。

Amoeba相当于一个SQL请求的路由器,目的是为负载均衡、读写分离、高可用性提供机制,而不是完全实现它们。

用户需要结合使用MySQL的Replication等机制来实现副本同步等功能。

amoeba对底层数据库连接管理和路由实现也采用了可插拨的机制,第三方可以开发更高级的策略类来替代作者的实现。

这个程序总体上比较符合KISS原则的思想。

如下图所示:
当然,m-s的数据库架构模式是多种多样的,可以根据企业自身业务的不同来设计适合自己的最优模式。

下面来看一下如何使用工具来监控mysql服务器
有一些免费的可视化监控工具:
1,M ySQL查询浏览器(MySQL Query Browser):这个不用说了…
2,MySQL管理员(MySQL Administrator):功能集中在服务器管理上,所以它最适合DBA使用,而不是开发人员和分析人员。

它可以帮助DBA把创建备份、创建用户并分配权限、显示服务器日志和状态信息等过程进行自动化处理。

它还包括了一些基本的监控功能,例如图形化的状态变量显示,但是它没有下文里会提到的交互式监控工具那么灵活。

,
3,MySQL迁移工具箱(MySQL Migration Tookit):可以帮你把数据从别的数据库系统迁移到MySQL里。

4,MySQL工作台(MySQL Workbench):MySQL的建模工具。

5,提到监控,不得不提的就是,Nagios,Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。

在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

相关主题