zoukankan      html  css  js  c++  java
  • MySQL介绍与编译安装

    一,数据库简单的分为两种:
    1,关系型数据库------>MySQL和Oracle
    2, 非关系型数据库------>Memcached(埋木 库希特)和Redis
    3,消息队列中间件
    (1)什么叫做关系型数据库?
    SQL数据库数据和数据之间是有关系的。通过关系将一系列数据都提出来。
    (2)什么是非关系型数据库?
    NoSQL数据库
    Not onley SQL
    4,市面上还有一种数据库,关系型的,叫做MariaDB,它和MySQL有什么关系呢?
    MySQL数据库最早是开源的,当然现在也是开源的。但是MySQL已经被Oracle公司==>SUN,被他收购了。
    那么MySQL一旦闭源,怎么办? 因此MySQL运维社区的人,为了防止SUN公司对MySQL进行闭源操作,他们自主在MySQL最后一个开源版本的基础上,开发出来了一个分支数据库,叫做MariaDB,其实它和MySQL几乎是一样的。


    二,MySQL数据库初体验
    数据库的基本概念
    1,数据
    描述事物的符号记录为数据,包括数字,文字,图形,图像,声音,档案记录等,以“记录”形式统一的格式进行储存。
    2,表
    将不同的记录组织在一起,就形成了“表”,是用于储存具体数据的。
    3,数据库
    表的集合,是储存数据的仓库,以一定的组织方式存储的互相有关的数据。
    4,数据库管理系统(DBMS)
    实现对数据库资源有效组织,管理和存取的系统软件。具有以下功能:数据库的建立和维护功能,数据定义功能,数据操纵功能,运行管理功能,通信功能。
    5,数据库系统
    是一个人-机系统,由硬件,操作系统,数据库,DBMS,应用软件和数据库用户组成。用户可以通过DBMS操作数据库,也可以通过应用程序操作数据库。


    三,关系型数据库MySQL
    1,关系型数据库不光是表内有关系而且表与表之间还有关系,表与表之间如果有相同的一个字段的数据,这个数据就叫做主键。两个表根据相同的主键做关联,就把两个表的数据关联到一起了。这就是关系型数据库。 还有一种表叫关系表意思就是两个表哪怕没有关系字段,我们靠第三个关系表把头两个表关系起来。、
    2,MySQL的特点
    性能卓越,服务稳定
    开源,无版本限制,成本低
    多线程,多用户
    基于c/s(客户端/服务端)架构
    安全可靠
    3,B/S架构模式与C/S架构模式的区别?
    B/S===>Web/Server 
    C/S===>Client/Server 

    (1)用户通过Web浏览器打开输入域名就能访问服务器server的方式叫做B/S,用户不需要安装任何东西。

    (2)所谓客户端Client在用户的电脑里是需要下载并安装的这就是C/S.
    如:网页打开了直接跳进的游戏,这都是小游戏这是B/S, 大的网络游戏都需要安装联网玩这就是C/S。 这就是两种架构。

    四,MySQL需要编译安装。
    现在开始编译安装MySQL
    准备工作。
    (1)MySQL有两版本:5.1和5.5 咱们需要安装5.5版本
    所以先过滤一遍自己的系统里有没有rpm 方式安装的MySQL。(yum可以安装MySQL但是它只能安装5.1版本)
    #rpm -qa | grep mysql
    只要出现MySQL server(MySQL服务器)就卸载 因为只能安装一个。
    #rpm -e mysql-server mysql-nodeps 用这个命令卸载


    (2)yum安装支持插件
    #mkdir -p /media/cdrom
    #mount /dev/sr0 /media/cdrom 挂载光盘
    #yum -y install gcc gcc-c++ make autoconf ( make 编译包 妹克) (autoconf(饿插根斯 自动化)自动生成makefile包(妹克fai欧))
    #yum -y install ncurses-devel (ncurses-devel 亏sei斯 呆薄)


    (3)安装cmake编译包
    把cmake-2.8.6.tar.gz编译包文件放在root目录下
    #tar xf cmake-2.8.6.tar.gz -C /usr/src
    #cd /usr/src/cmake-2.8.6/
    #./configure && gmake && gmake install

    (4)cmake编译安装MySQL
    把mysql-5.5.22.tar.gz编译包文件放在root目录下
    #tar xf mysql-5.5.22.tar.gz -C /usr/src
    #cd /usr/src/mysql-5.5.22/
    #cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all && make && make install

    (5)创建程序用户
    #useradd -M -s /sbin/nologin mysql (创建的程序用户就叫mysql)
    useradd创建程序用户 sbin命令目录 nologin不能登录 login 登录或进入系统的意思
    不用设置密码。

    (6)进编译安装完的mysql看下
    #cd /usr/local/mysql
    #pwd 回车这就是刚创建的mysql当前的位置
    #ls
    data目录是数据目录
    bin 是命令目录
    support-files 里边提供了很多模板,如:启动脚本,配置文件。 support提供 files文档
    scripts脚本的意思,

    (7)以上是数据库位置,但是既然要读写数据就要看下它的权限。
    [mysql]#cd ..
    [local]#ll -d mysql/
    它的属主属组是root, 我刚才创建了程序用户叫mysql的,把属主改成它 改成mysql程序用户, 要不然程序用户往里写不进数据,因为写数据都是程序用户来完成的。
    #chown -R mysql:root /usr/local/mysql chown更改文件的属主属组命令

    (8)创建修改my.cnf配置文件
    #ls /usr/local/mysql/support-files/my-* 看看support-files这里都有什么东西
    support-files里提供了5种模板,分别是:
    my-huge.cnf 巨大数据量
    my-innodb-heavy-4G.cnf innodb引擎
    my-large.cnf 大数据量
    my-medium.cnf 测试使用
    my-small.cnf 小数据量
    我们先用测试这个
    #/bin/cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
    为什么要用绝对路径呢? 因为万一下边有就强制覆盖过去就行了。

    (9)现在有了模板以后在复制一份
    #/bin/cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 这是启动脚本
    #chmod +x /etc/init.d/mysqld 给mysqld启动脚本加权限,好让它绝对路径启动。
    #chkconfig mysqld --add 加入开机启动
    #chkconfig mysqld --list 看一下
    mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off 显示这个 这就有了 chkconfig就能控制了。

    (10)软链接
    #which mysql
    #ln -s /usr/local/mysql/bin/* /usr/local/bin/
    #which mysql 有了
    这是为了让环境变量找到命令

    (11)进行初始化数据库
    什么叫做初始化数据库?
    #cd /usr/local/mysql mysql目录下有个data目录这是数据目录放数据的
    #cd data
    #ls
    mysql test 里边是这两个子目录 这两个目录里边现在什么都没有
    MySQL数据库是怎么放数据的呢?
    数据记录在数据表上,数据表以文件格式放在里边,但是得需要归类。
    这两个子目录就是数据库里边的小库,这就是将文件归类的小库。这样我就可以查某个小库里的所有文件。小库名字对应里边的文件,

    #/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
    这就初始化完成了。
    #ls 再看下里边目录就多了
    刚编译安装必须要有这一步。

    (12)启动MySQL数据库
    #cd
    #/etc/init.d/mysqld start 启动脚本
    SUCCESS! 成功
    #netstat -anpt | grep :3306 查看下端口
    启动完毕

    (13)登录MySQL数据库
    #which mysql 用mysql命令直接登录或mysql -uroot -p
    如果是mysql -h 是指定主机(IP地址)
    mysql -p 是指定密码 没写就是没密码
    mysql -P 是端口,不写默认就是3306
    mysql -u 是指定用户,不写就是默认登录本地 如:#mysql -uroot -p 指定用户是root
    ctrl+D 是退出MySQL数据库。

    (14)设置MySQL数据库的登录密码
    有个命令:
    #whcih mysqladmin (mysql 阿得 min四声) MySQL设置密码命令
    #mysqladmin -uroot password '123123' 针对root用户设置密码 123123

    (15)库的本质就是子目录。

  • 相关阅读:
    运行.bat批处理,CMD窗口隐藏,并制作为EXE文件
    TinyXML:一个优秀的C++ XML解析器(转载)
    2013编程之美资格赛【传话游戏】
    linux GTK教程(消息机制/标签/按钮/图像/文本/对话框/菜单/容器)
    c++强制类型转换(总结)
    string与char*的转换(转载)
    网络数据包捕获函数库Libpcap安装与使用(非常强大)
    Linux 高级Socket编程
    linux GTK 安装
    .dll和.lib文件的生成和使用 c++
  • 原文地址:https://www.cnblogs.com/changtianwei/p/10007360.html
Copyright © 2011-2022 走看看