MySQL实例搭建

Q:如何判断一个Linux系统具备安装MySQL的条件?

A:

  1、Linux网络已经配置完成

    ip地址/子网掩码、默认网关、主机名字

    /etc/hosts:访问这个数据库的应用的IP地址和主机名字也要添加到hosts文件中,主从服务器解析也要添加到hosts文件

    /etc/resolv.conf:确认里面的nameserver能够使用

  2、/var/log/messages日志文件

  3、配置yum源:local

    注意:轻易不要使用互联网yum,原因是容易出现版本问题

  4、删除旧版本的MySQL:

    # yum remove mysql*

  5、selinux一定要关闭:

    # getenforce  //确保是disabled,如果是修改的最好是重启一下系统。

  6、防火墙最好也是关闭:

    # iptables -L

  7、准备好MySQL数据库软件和MySQL数据文件所在位置

    MySQL数据库文件所在的位置一定要足够的空间,且性能要求是最好的。

防火墙对数据库的影响:

  防火墙会对长时间没有反应的连接给断开掉,是底层强行断掉的,所以没有完整的释放tcp连接,如果原来是有500连接,因为应用和服务器的连接断掉了进行重新连接,500连接再连上来,服务器就容易夯住。

一、如何安装MySQL

1、tar包的方式,编译安装

  http://www.cnblogs.com/geaozhang/p/6935075.html

  安装者自行安装定义,安装在哪就是哪儿。

2、rpm的方式,yum安装:yum localinstall

  1、rpm -ql 软件包的名字  #查看软件安装的位置

      软件目录:/usr

    对于一个软件来说:

    1>bin(存放一些命令)

    2>lib、lib64

    3>share(放置类似于软件的一些模板)

  2、rpm -qc 软件包的名字  #查看软件的配置文件的位置

shell> vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/mydata
port=3306
server_id=1
socket=/var/lib/mysql/mysql.sock

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/mydata/mysqld.pid

[client]
socket=/var/lib/mysql/mysql.sock

  basedir:MySQL软件安装目录

  datadir:MySQL数据库目录

    如果是要清理一个mysql数据库,然后重新初始化,就要保证该目录为空rm -rf *,当然这个是很危险的,生产库轻易别这么干。

二、MySQL初始化

1、mysqld_safe的方式初始化启动

  # mysqld_safe --help

  # mysqld_safe --defaults-file=/etc/my.cnf &

初始化完成以后,数据库默认是启动状态---(rpm安装)

补充:

  mysqld --initialize、mysql_install_db初始化方式

2、判断实例启动

  以下1、2、3一起确认数据库的启动

  1、netstat -tulnp|grep 3306

  2、数据库启动了会有一个mysql.pid文件

    # ll /mydata/mysqld.pid

    -rw-r----- 1 mysql mysql 5 Apr 21 10:41 /mydata/mysqld.pid

  3、数据库端口开了会有一个mysql.sock文件,代表一个数据库实例

    # ll /var/lib/mysql/mysql.sock

    srwxrwxrwx 1 mysql mysql 0 Apr 21 10:41 /var/lib/mysql/mysql.sock

注意:

  如果是使用mysqld_safe的方式启动MySQL服务,通过ps -ef | grep mysql,我们会发现MySQL有两个进程,一个是mysqld的进程,一个是mysqld_safe的进程,前者是后者的子进程,是因为mysqld_safe启动本质是调用的mysqld,这是MySQL服务启动的一个安全保护机制。如果只是用mysqld启动,那么OS上就只能看见一个进程。

  如果在my.cnf配置文件里没有指定日志文件的目录的话,那么初始化完了就会在datadir目录下面生成一个.err文件,这个文件就是mysql的错误日志文件。

3、初始化完后

  1、初始化成功以后,在datadir下面至少会有如下目录

    # ll |grep ^d

    drwxr-x--- 2 mysql mysql     4096 Apr  9 01:09 mysql

    drwxr-x--- 2 mysql mysql     4096 Feb 17 21:43 performance_schema

    drwxr-x--- 2 mysql mysql    12288 Feb 17 21:43 sys

  2、如果是初始化失败的话,也就只有ibdata1、ib_logfile0、ib_logfile1文件。

三、MySQL启动

1、启动过程

  1、找my.cnf文件(配置文件),最好启动的时候手工指定配置文件

  [[email protected] ~]# mysql --help | grep my.cnf

    order of preference, my.cnf, $MYSQL_TCP_PORT,

  /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

    顺序配置文件,如果后面的配置文件寻找成功,则配置文件内容会覆盖前面的配置

      所以:mysqld_safe --defaults-file=/etc/my.cnf &

  2、datadir,找相应的数据库进行启动

  3、初始化参数指定启动资源分配

2、排错分析

  1、参数文件问题

    1、cat 参数文件、找到datadir

    2、初步看一下参数文件中的参数是否异常

    3、通过ll参数文件的最近修改时间

  2、切换到datadir下

    1、判断权限

    2、基本文件及目录

      ibdata

      logfile

      mysql/

      performance_schema/

    3、空间是否满了

  3、errorlog

    1、关注时间点

    2、error内容

3、MySQL有一个地方需要注意

  datadir指向了一个不存在数据库的位置,同时对这个目录有MySQL权限,这样就很容易初始化一个新的数据库。

时间: 2024-10-26 05:17:38

MySQL实例搭建的相关文章

CentOS6.5源码安装多个MySQL实例及复制搭建

多实例安装本节是在CentOS6.5源码安装MySQL5.6.35的基础上,在同一台机器增加一个MySQL实例.参考Centos中安装多个mysql数据的配置实例,安装目录为/usr/local/mysql3307/ 6.目录创建(-p父目录不存在则创建此目录) [[email protected] ~]# cd mysql-5.6.35 [[email protected] mysql-5.6.35]# mkdir -p /usr/local/mysql3307/data 7.编译安装 [[e

企业级LNMP实例搭建

企业级LNMP实例搭建(centos6) 阅读目录 1.1 部署LNMP架构说明 第2章 LNMP环境搭建步骤 2.1 部署linux系统 2.2 部署nginx网站服务 2.3 部署mysql数据库服务 2.4 部署php服务 2.5 nginx 与 php 建立连接关系 2.6 编辑php与mysql连通性测试文件,并进行测试 2.7 测试php与数据库连通性 2.8 下载部署wordpress博客程序 3.1 mysql数据库迁移 3.2 本地数据挂载到nfs共享储存 1.1 部署LNMP

函数计算支持 MySQL 实例绑定

函数计算(Function Compute):函数计算 是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询.性能监控和报警等功能.借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费. 背景 通过工单和客户群里面的反馈,我们发现存在大量用户问:"函数计算如何安全的访问某某资源".例如:函数计算如何安全的访问 RDS 资源等等诸如此类.尤其是 &qu

Windows下运行多个mysql实例

为了测试Mysql group replication机制,特地在windows上创建多个mysql实例.其步骤如下: 一,创建文件夹用于存放database的数据文件 例如创建独立的文件夹:D:\Server\mysqlS1\data 二,创建独立配置文件,修改里面的port以及datadir 可以从原有的my.ini复制一份,修改配置 ------------------------------------ datadir=D:/Server/mysqlS1/data port=3307 -

PHP+MYSQL的搭建

现在准备研究下微信的开发,所以要研究下PHP了,但对这个平台还是很陌生的,所以网上找了些资料并测试,现贴出来给大家参考. 第一步:我们先下载[PHPStudy 2013]或者最新版本: 下载地址:http://download.csdn.net/detail/trassion/7569567 第二歩:开始安装[PHPStudy 2013]: 直接单击[下一步]继续:然后选择安装地址,这里注意:安装路径中不能有中文,必须为全英文路径: 直接[下一步]继续,这里选择PHP程序存放目录,也就是服务器地

java 调用mysql实例

java 调用mysql实例: package com.tanglei.test1; import java.sql.*; public class Testsql{ public static void main(String []args){ Mysql mysql=new Mysql(); } } class Mysql{ // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值 // 避免中文乱码要指定useUnicode和char

Ubuntu+Apache+PHP+Mysql环境搭建(完整版)

Ubuntu+Apache+PHP+Mysql环境搭建(完整版) 一.操作系统 Ubuntu 14.04 64位,阿里云服务器 二.Apache 1.安装Apache,安装命令:sudo apt-get install apache2 2.环境配置: 1)配置文件:路径为/etc/apache2,配置文件是apache2.conf,而没有http.conf. 2)默认网站根目录:/var/www/html,使用浏览器访问http://localhost  即可打开: 3)修改网站根目录: A."

JDK+JDBC+MySQL实例及注意事项

by qx.zhong Hangzhou 29 Jun 2014 开发环境 OS:  Win8.1 x64 JDK: 1.8 SE DB:  MySQL 5.5 Lib:  mysql-connector-java.jar 1. MySQL数据库数据类型与JDK之间的特殊对应关系 下表只列举几个特殊的值类型对照,其余的又需要可以参考MySQL官网的值类型说明(http://dev.mysql.com/doc/refman/5.1/zh/index.html)以及JDK的相关资料. MySQL J

如何安全地关闭MySQL实例

如何安全地关闭MySQL实例 转载自:http://imysql.com/2014/08/13/mysql-faq-howto-shutdown-mysqld-fulgraceful.shtml 本文分析了mysqld进程关闭的过程,以及如何安全.缓和地关闭MySQL实例,对这个过程不甚清楚的同学可以参考下. 关闭过程: 1.发起shutdown,发出  SIGTERM信号 2.有必要的话,新建一个关闭线程(shutdown thread) 如果是客户端发起的关闭,则会新建一个专用的关闭线程 如