• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > Mysql的编译安装以及简单介绍

Mysql的编译安装以及简单介绍

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了Mysql,简单,以及等相关知识,希望本文的分享对您有所帮助
==========MYSQL工作原理图:

1》数据库简介:简单的说数据库(database)就是一个存储数据的仓库,它将数据按照特定的规律存储到磁盘上,通过数据库管理系统,能够有效的管理存储在数据库中 的数据;
SQL语言: DBMS是通过SQL语言来进行数据库管理的。SQL语言是一种查询和设计语言,主要用于存储数据,查询数据 更新和管理关系数据库;
  SQL语言总共分为三个部分

DDL(Data Definition Language)语句,用于定义数据库表、试图索引和触发器等等
      create
      alter
      drop
      rename
      truncate
      comment
  DML(Data Maniplulation Language)语句用于插入数据,查询数据、更新数据和删除数据
      select
      insert
      update
      delete
  DCL(Data Control Language)语句,用于控制用户的访问权限
      grant
      revoke

常见的数据库系统有哪些:
    1.甲骨文Oracle
    2.IBM的DB2
    3.Sybase
    4.微软Access和SQL Server
    5.开源PostgreSQL
    6.开源Mysql

Mysql特性:
    1.跨平台,支持多种操作系统,AIX FreeBSD HP-UX Linux MacOS NovellNetware OpenBSD Solaris windows 等等
    2.支持多线程,可以充分的利用硬件资源(CPU资源)
    3.支持大型数据库,可以处理拥有上千万条大型数据库。
    4.支持多种插件式存储引擎

mysql-server-5.6

    1)InnoDB现在可以限制大量表打开的时候内存占用过多的问题(比如这里提到的)(第三方已有补丁)
    2)InnoDB性能加强。如分拆kernel mutex;flush操作从主线程分离;多个perge线程;大内存优化等
    3)InnoDB死锁信息可以记录到 error 日志,方便分析
    4)MySQL5.6支持延时复制,可以让slave跟master之间控制一个时间间隔,方便特殊情况下的数据恢复。
    5)表分区功能增强
    6)MySQL行级复制功能加强,可以降低磁盘、内存、网络等资源开销(只记录能确定行记录的字段即可)
    7)Binlog实现 crash-safe
    8)复制事件采用crc32校验,增强master/slave 复制数据一致性
    9)新增 log_bin_basename (以前variables里面没有binlog位置信息,对数据库的监管很不方便)

2》编译安装MYSQL:
    1>安装依赖包:
      

yum install gcc gcc-c++ ncurses-devel perl cmake bison

    2>创建用户:
     

# groupadd mysql
             # useradd mysql –g mysql –s /sbin/nologin
             #mkdir -p /usr/local/mysql //Mysql的安装目录
             #mkdir -p /data/mysqldb  //Mysql数据目录
             #mkdir -p /data/mysqldb/binlog //创建BINLOG日志目录   
             #mkdir -p /data/mysqldb/log   //创建MYSQL 日常LOG目录

    3>安装Mysql:
      

#tar -xvf mysql-5.6.31.tar.gz             
#cd mysql-5.6.31
                           
                           cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \           
                           -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \          
                           -DSYSCONFDIR=/etc \          
                           -DDEFAULT_CHARSET=gbk \          
                           -DDEFAULT_COLLATION=gbk_chinese_ci \          
                           -DWITH_INNOBASE_STORAGE_ENGINE=1  \          
                           -DWITH_ARCHIVE_STORAGE_ENGINE=1 \          
                           -DWITH_BLACKHOLE_STORAGE_ENGINE=1  \          
                           -DWITH_FEDERATED_STORAGE_ENGINE=1 \          
                           -DWITH_PARTITION_STORAGE_ENGINE=1  \          
                           -DMYSQL_DATADIR=/data/mysqldb  \          
                           -DMYSQL_TCP_PORT=3306  \

***注意:重新运行配置,需要删除CMakeCache.txt文件

==========编译解析:

    #cmake 编译命令

      -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 设置mysql安装目录

      -DMYSQL_UNIX_ADDR=/tmp/mysql.sock 设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock
      -DSYSCONFDIR=/etc 配置文件放在/etc/下面
      -DDEFAULT_CHARSET=gbk 设置服务器的字符集。
缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列 表。
      -DDEFAULT_COLLATION=gbk_chinese_ci 设置服务器的排序规则。
      -DWITH_INNOBASE_STORAGE_ENGINE=1
      -DWITH_ARCHIVE_STORAGE_ENGINE=1
      -DWITH_BLACKHOLE_STORAGE_ENGINE=1
  存储引擎选项:
    MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
    静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1
可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEM) (Performance Schema)

      -DMYSQL_DATADIR=/data/mysqldb 设置mysql数据库文件目录

      -DMYSQL_TCP_PORT=3306 设置mysql服务器监听端口,默认为3306

      -DENABLE_DOWNLOADS=1
               是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试

4> make && make isntall
   5>初始化:
      给Mysql安装目录进行授权
        # chown mysql:mysql /usr/local/mysql -R
      给Mysql数据存储目录进行授权
        # chown mysql:mysql /data/mysqldb -R
      给Mysl日志目录进行授权
        #chown mysql:mysql /data/mysqldb/binlog/
        #chown mysql:mysql /data/mysqldb/log/
    开始初始化:
        /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldb

    复制Mysql服务启动脚本
        # cp /usr/local/mysql/support-files/mysql.server /mysql.server /etc/init.d/mysqld
        # chmod 755 /etc/init.d/mysqld

修改mysql服务启动脚本 (多实例才需要)
        # vim /etc/init.d/mysqld
        basedir=/usr/local/mysql
        datadir=/data/mysqldb

6>配置文件
      以后在企业里面没有现成my.cnf ,如果编译安装后,没有在/etc/找到my.cnf 那么请到原始的编译目录,也就是解压包的目录里面找到support-files这个目 录,将my-default.cnf 拷贝到/etc/my.cnf;

      # cd mysql-5.6.31
      #cp support-files/my-default.cnf /etc/my.cnf

=========配置文件详解:
# vim /etc/my.cnf
[client]
port = 3306 //客户端所连接的端口号
socket = /tmp/mysql.sock //客户端所连接的sock文件存放位置

[mysqld]
#base
port = 3306 //mysql的默认端口号,可以修改
user = mysql //mysql用户指定
socket = /tmp/mysql.sock //连接所使用的端口号
pid-file = /tmp/mysql.pid //进程运行的主PID文件
basedir = /usr/local/mysql //Mysql安装目录
datadir = /data/mysqldb //Mysql数据目录
tmpdir = /opt/mysqltmp //Mysql临时表目录
open_files_limit = 10240 //打开文件句柄的数量
explicit_defaults_for_timestamp
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2018-12-05全文本检索的应用(2)
  • 2018-12-05Python怎么统计字母出现的次数
  • 2018-12-05mysql 存在该记录则更新,不存在则插入记录的sql
  • 2017-09-29C++ ADO操作mysql数据库
  • 2018-12-05MySQL 解密 --> 如何查看二进制日志ROW模式下最原始的SQL语句
  • 2018-12-05SQL Server访问Exchange数据
  • 2018-12-05MYSQL数据表字体大小如何利用Navicat for MySQL改变?
  • 2018-12-05sql 分组查询问题
  • 2018-12-05一句Sql把纵向表转为横向表,并分别分组求平均和总平均值
  • 2017-05-11禁止mysql做域名解析(解决远程访问mysql时很慢)

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL基础教程15 — SQL语法之数据操作语句DML—DELETE语法
    • Oracle 中文字段进行排序的sql语句
    • 比较详细的MySQL字段类型说明
    • 基于mysql 5.5 设置字符集问题的详解
    • 具体介绍MySql经常使用语句的全面总结
    • 内连接、左外连接、右外连接、交叉连接它们的区别是什么
    • 从内部开始来认识Oracle数据库的结构组件
    • oracle中动态SQL使用详细介绍
    • 关于分区功能的10篇文章推荐
    • sqlserver 中charindex/patindex/like 的比较

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有