热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

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对比
MYSQL企业级应用(一)安装与部署
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 status
iptables: Firewall is not running.

安装依赖包`[root@web02 ~]# yum install ncurses-devel libaio-devel -y`
br/>`[root@web02 ~]# yum install ncurses-devel libaio-devel -y`
安装cmake(编译安装使用)`yum install cmake -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/mysqld
chmod 700 /etc/init.d/mysqld
chkconfig mysqld on
chkconfig --list mysqld
/etc/init.d/mysqld start
netstat -lntup|grep 3306

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


推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
author-avatar
1403390367_f5c8a8
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有