MySQL入门之基础知识

 

MySQL基础知识

1MySQL简介

1.1产品百科

MySQL基本概念

  • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
  • MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
  • MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
  • MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
  • MySQL软件采用了双授权政策(本词条"授权政策"),它分为社区版和商业版。
  • 由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
  • 由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

"LAMP"组合一个稳定、免费的网站系统

  • Linux作为操作系统,
  • Apache和Nginx作为Web服务器
  • MySQL作为数据库
  • PHP/Perl/Python作为服务器端脚本解释器。
  • 免费的网站系统,被业界称为"LAMP"组合
  • 由于这四个软件都是免费或开放源码软件(FLOSS)

系统特性

  • 1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
  • 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。
  • 3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和Tcl等。
  • 4.支持多线程,充分利用CPU资源。
  • 5.优化的SQL查询算法,有效地提高查询速度。
  • 6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
  • 7.提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
  • 8.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
  • 9.提供用于管理、检查、优化数据库操作的管理工具。
  • 10.支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • 11.支持多种存储引擎。
  • 12.Mysql是开源的,所以你不需要支付额外的费用。
  • 13.MySQL使用标准的SQL数据语言形式。
  • 14.Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。
  • 15.Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。
  • 16.在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性(5.6[3] 新增)
  • 17.复制全局事务标识,可支持自我修复式集群(5.6[3] 新增)
  • 18.复制无崩溃从机,可提高可用性(5.6[3] 新增)
  • 19.复制多线程从机,可提高性能(5.6[3] 新增)

存储引擎

  • MyISAMMysql5.0之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务
  • InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定, MySQL 5.5起成为默认数据库引擎
  • BDB源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性
  • Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失
  • Merge将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用
  • Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差
  • Federated将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
  • Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
  • CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。
  • BlackHole :黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继
  • EXAMPLE存储引擎是一个不做任何事情的存根引擎。它的目的是作为MySQL源代码中的一个例子,用来演示如何开始编写一个新存储引擎。同样,它的主要兴趣是对开发者。EXAMPLE存储引擎不支持编索引。
  • 另外,Mysql的存储引擎接口定义良好。有兴趣的开发者可以通过阅读文档编写自己的存储引擎。

总结:

    瑞典MySQL AB公司开发,目前属于Oracle公司。

    MySQL是一种关联数据库管理系统 由于其体积小、速度快、总体拥有成本低

    MySQL软件采用了双授权政策(本词条"授权政策"),它分为社区版和商业版    

http://www.mysql.com/

1.2产品版本

MySQL产品版本

  • Community版本
  • Enterprise版本

            MySQL标准版

MySQL企业版

MySQL集群版

结论:

    下载Community版本, 免费..... OK

    Enterprise版本 30天试用期

    http://www.mysql.com/

 

2MySQL下载和安装

2.1MySQL产品下载

产品下载

  •     GA 是指软件的通用版本,一般指正式发布的版本 (Generally Available (GA) Release)
  •     mysql-essential-5.1.60-win32.msi 是精简版,如果只需要mysql服务,就选择此版本。
  •     mysql-5.1.60-win32.msi 是完整版,包含安装程序和配置向导,有MySQL文档。 选择这个....
  •     mysql-noinstall-5.1.60-win32.zip 是非安装的zip压缩包,没有自动安装程序和配置向导, 无安装向导
  •     mysql-5.1.60.zip 是用于windows的Mysql源码压缩包

下载注意细节

  • 在http://www.mysql.com/downloads/网站上下载不了
  • 在 www.oracle.com downloads 找mysql 注册用户, 选择操作系统平台和mysql版本 进行下载

 

2.2MySQL产品下载

MySQL Linux上安装

0 oracle官网上下载的mysql有以下几个rpm包

 

1 查询服务器上已经安装的mysql    

    rpm -aq | grep mysql    

     

        mysql-5.0.77-3.el5

        mysql-server-5.0.77-3.el5

        libdbi-dbd-mysql-0.8.1a-1.2.2

        mysql-connector-odbc-3.51.26r1127-1.el5

        mysql-5.0.77-3.el5

        

        ---

        qt-mysql-4.6.2-25.el6.x86_64

        

        mysql-connector-odbc-5.1.5r1144-7.el6.x86_64

        mysql-bench-5.1.66-2.el6_3.x86_64

        mysql-devel-5.1.66-2.el6_3.x86_64

        libdbi-dbd-mysql-0.8.3-5.1.el6.x86_64

        mysql-test-5.1.66-2.el6_3.x86_64

        mysql-libs-5.1.66-2.el6_3.x86_64

        mysql-5.1.66-2.el6_3.x86_64

        mysql-connector-java-5.1.17-6.el6.noarch

        mysql-server-5.1.66-2.el6_3.x86_64

        

2 卸载旧的版本

        rpm -e mysql --nodeps --allmatches (不理会依赖关系,删除所有上一步查出来的相同的mysql)

        

        [root@localhost home]# rpm -e mysql-connector-odbc-3.51.26r1127-1.el5 --nodeps --allmatches

        [root@localhost home]# rpm -e libdbi-dbd-mysql-0.8.1a-1.2.2 --nodeps --allmatches

        [root@localhost home]# rpm -e mysql-server-5.0.77-3.el5 --nodeps --allmatches

        

        [root@localhost home]# rpm -aq | grep mysql

        [root@localhost home]#

    

3 将老版本的几个文件手工删除

        #rm -f /etc/my.cnf

        #rm -rf /var/lib/mysql

        #rm -rf/var/share/mysql

        # rm -rf/usr/bin/mysql*

 

4 上传mysql的安装包

        MySQL-client-advanced-5.6.20-1.el6.x86_64.rpm

        MySQL-devel-advanced-5.6.20-1.el6.x86_64.rpm

        MySQL-server-advanced-5.6.20-1.el6.x86_64.rpm

 

5 安装服务器和客户端

        #rpm -ivh MySQL-server-advanced-5.6.****-1.el6.x86_64.rpm

        

            A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !

            You will find that password in '/root/.mysql_secret'.

            

            You must change that password on your first connect,

            no other statement but 'SET PASSWORD' will be accepted.

            See the manual for the semantics of the 'password expired' flag.

            

            Also, the account for the anonymous user has been removed.

            

            In addition, you can run:

            

             /usr/bin/mysql_secure_installation

            

            which will also give you the option of removing the test database.

            This is strongly recommended for production servers.

            

            See the manual for more instructions.

            

            Please report any problems at http://bugs.mysql.com/

            

            The latest information about MySQL is available on the web at

            

             http://www.mysql.com

            

            Support MySQL by buying support/licenses at http://shop.mysql.com

            

            New default config file was created as /usr/my.cnf and

            will be used by default by the server when you start it.

            You may edit this file to change server settings

            

        #rpm -ivh MySQL-client-advanced-5.6.****-1.el6.x86_64.rpm

        说明:不安装mysql-client是不能使用mysql工具登陆到mysql数据库

        

6 oracle收购Mysql后,新版的mysql刚安装完mysql后不能直接输入mysql登录数据库,

    而是设置了默认free password密码,默认密码放在了/root/.mysql_secret文件中,登陆后需要修改密码

 

7 修改密码

    (1)查看文件寻找密码

        vi /root/.mysql_secret

    (2)登陆Mysql

            linux mysql 服务启动和关闭    

                service mysql start         service mysql stop

                

        登陆服务器

            mysql -u root -p

    (3)修改密码

            mysql> set password=password('123456') ;

            

            也可以使用脚本 /usr/bin/mysql_secure_installation进行交互式的修改mysql的root密码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值