• ADADADADAD

    MYSQL企业级应用(一)安装与部署[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:57:42

    作者:文/会员上传

    简介:

    1.1 mysql介绍mysql属于传统关系型的数据库产品,它开放式架构使得用户选择性很强,同时社区开发与维护人员众多,其功能稳定,性能卓越,且在遵守GPL协议的前提下,可以免费使用与修改,

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    1.1 mysql介绍
    mysql属于传统关系型的数据库产品,它开放式架构使得用户选择性很强,同时社区开发与维护人员众多,其功能稳定,性能卓越,且在遵守GPL协议的前提下,可以免费使用与修改,也为mysql推广使用带来了更多便利,在mysql成长过程中,支持的功能逐渐增多,性能也不断提高,对平台的支持也越来越好。mysql是一种关系型数据库管理系统,关系数据库特点是将数据保存在不同的表中,再将这些表放入不同的数据中,而不是将所有数据统一放在一个大仓库里,这样的设计增加了mysql的读取速度,而且灵活性和管理性也得到了很大的提高。访问及管理mysql数据库是常用标准化语言为sql结构化查询语言
    1.2 MariaDB数据库诞生背景介绍
    自甲骨文公司收购MYSQL后,其在商业数据库与开源数据库领域市场的占有份额都跃居第一,这样的格局引起业内很多人士担忧,因为商业数据库老大将mysql闭源,为了避免oracle将mysql闭源,而开源类mysql数据库可用,mysql社区采用分支的方式来避免这个风险,MariaDB数据库就这样诞生了,mariadb是一个向后兼容,可能在以后替代mysql产品,官网地址为https://mariadb.org/ 不过,这里还是建议大家选择更稳定,使用更广泛的mysql数据库,可以先测试mariadb数据库,等使用人员更多一些,社区更活跃一后在考虑使用为好
    1.3 什么是mysql多实例
    简单来说,mysql多实例就是在一台服务器上同时开启多个不同的服务端口(如3306,3307)同时运行多个mysql服务进程,这些服务进程通过不同的socket监听不同服务器端口来提供服务。这些mysql多实例公用一套mysql安装程序,使用不同的my.cnf(也可以相同)配置文件,启动程序(也可以相同)和数据文件,在提供服务时,多实例mysql在逻辑上看起来是各自独立的,他们根据多个配置文件的对应设定值,获得服务器相应数量的硬件资源。
    1.4 mysql多实例的作用与问题
    有效的利用服务器资源
    当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务,且可以实现资源的逻辑隔离
    节约服务器资源
    当公司资金紧张,但是数据库又需要各自尽量独立的提供服务,而且,需要主从复制等技术时,多实例就在好不过了
    mysql多实例有他的好处,但也有弊端,比如,存在资源互相抢占的问题
    当某个数据库实例并发很高或有sql慢查询时,整个实例会消耗大量的系统cpu磁盘I/O等资源,导致服务器上的其他数据库实例提供服务的质量一起下降,这就相当于大家住的房子的不同卧室一样,早晨起来上班,都要刷牙,洗脸等,这样卫生间就会长期占用,其他人要等待一样,不同实例获取的资源是相对独立的,无法像虚拟化一样完全隔离
    1.5 RDBMS与NOSQL对比

    1.5.1 关系型数据库的特点
    二维表典型产品
    oracle传统企业,mysql是互联网企业
    数据存储是通过SQL
    最大的特点:数据安全性方面强(ACID)
    web1.0时代
    企业提供内容,用户浏览,所以关系型数据库够用,并发并不高,所以不需要nosql
    web2.0时代
    核心是企业提供平台,用户参与提供内容,这时关系型数据库无法满足需求
    2003 NOSQL
    出现memcached诞生,关系的点是性能,而安全性关注比较低,随着安全性需求不断提升,所以有了redis
    1.5.2 redis特点
    依然高性能该并发数据持久化的功能支持多数据类型,主从复制和集群管理不再使用sql
    1.6 mysql安装环境准备
    下载好5.6.36
    安装包查看当前linux系统环境

    [root@web01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final)[root@web01 ~]# getenforce Disabled[root@web01 ~]# /etc/init.d/iptables statusiptables: Firewall is not running.

    安装依赖包`[root@web02 ~]# yum install ncurses-devel libaio-devel -y`
    br/>`[root@web02 ~]# yum install ncurses-devel libaio-devel -y`
    **设置用户**
    `[root@web02 ~]# useradd -s /sbin/nologin -M mysql`
    br/>`yum install cmake -y`
    **设置用户**
    `[root@web02 ~]# useradd -s /sbin/nologin -M mysql`

    [root@web02 ~]# cd /server/tools/[root@web02 tools]# tar xf mysql-5.6.36.tar.gz [root@web02 tools]# cd mysql-5.6.36[root@web02 mysql-5.6.36]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.36 \> -DMYSQL_DATADIR=/application/mysql-5.6.36/data \> -DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/tmp/mysql.sock \> -DDEFAULT_CHARSET=utf8 \> -DDEFAULT_COLLATION=utf8_general_ci \> -DWITH_EXTRA_CHARSETS=all \> -DWITH_INNOBASE_STORAGE_ENGINE=1 \> -DWITH_FEDERATED_STORAGE_ENGINE=1 \> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \> -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \> -DWITH_ZLIB=bundled \> -DWITH_SSL=bundled \> -DENABLED_LOCAL_INFILE=1 \> -DWITH_EMBEDDED_SERVER=1 \> -DENABLE_DOWNLOADS=1 \> -DWITH_DEBUG=0

    编译安装
    make && make install

    创建软连接
    ln -s /application/mysql-5.6.36/ /application/mysql
    初始化及配置数据库

    [root@web02 ~]# cd /application/mysql[root@web02 mysql]# cp support-files/my*.cnf /etc/my.cnf

    初始化配置`[root@web02 mysql]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql`
    br/>`[root@web02 mysql]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql`

    [root@web02 ~]# /etc/init.d/mysqld restart  RROR! MySQL server PID file could not be found!Starting MySQL.Logging to '/application/mysql-5.6.36/data/web02.err'.171114 21:41:56 mysqld_safe Directory '/application/mysql-5.6.36/tmp' for UNIX socket file don't exists. ERROR! The server quit without updating PID file (/application/mysql-5.6.36/data//web02.pid).

    补救方法

    [root@web02 ~]# cd /application/mysql[root@web02 mysql]# touch tmp[root@web02 mysql]# chown -R mysql.mysql tmp

    用户授权`[root@web02 mysql]# chown -R mysql.mysql /application/mysql/`
    br/>`[root@web02 mysql]# chown -R mysql.mysql /application/mysql/`

    cp support-files/mysql.server /etc/init.d/mysqldchmod 700 /etc/init.d/mysqldchkconfig mysqld onchkconfig --list mysqld/etc/init.d/mysqld startnetstat -lntup|grep 3306

    破解mysql用户密码 加入到后台启动
    mysqld_safe --defaults-file=/application/mysql/my.cnf --skip-grant-tables &

    MYSQL企业级应用(一)安装与部署.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql企业级应用