系统环境:CentOS release 6.5 (Final)(最小化安装)

MySQL版本:mysql-5.6.12

Cmake版本:cmake-2.8.4

说明:安装mysql先安装cmake(原因:mysql5.5以后是通过cmake来编译的)

可以自己选择安装自己常用的工具,如lrzsz,vim等

准备完毕后即可进行安装:

第一步:检查是否自带安装了Mysql,如果有,则删除

rpm –qa | grep mysql

如果系统自带卸载自带安装的mysql:

yum -y remove mysql-libs-5.1.71-1.el6.x86_64

第二步:安装mysql依赖的包

yum -y install gcc openssl-devel zlib-devel gcc-c++ autoconf automake libtool make ncurses-devel* bison

第三步:解压并安装cmake工具

  cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,
因此在同一个源码树上可以进行多次不同的编译,如针对不同平台编译

# tar xzvf cmake-2.8.4.tar.gz

# cd cmake-2.8.4

# ./bootstrap

# gmake

# gmake install

第四步:编译并安装MySQL(安装到/usr/mysql目录下):

添加MySQL用户和用户组

# mkdir /usr/mysql

# groupadd mysql

# useradd –g mysql mysql

# tar zxvf mysql-5.6.12.tar.gz

# cd mysql-5.6.12

# cmake -j 4 . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/usr/local/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWITH_DEBUG=0

参数说明:

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

-DINSTALL_DATADIR=/usr/local/mysql/data //数据库存放目录

-DSYSCONFDIR=/etc           //mysql的配置文件位置

默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-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 //分区的存储引擎

若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0

其它常用的选项:
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock    //sock文件位置
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all       //安装所有扩展字符集
-DDEFAULT_CHARSET=utf8    //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci  //校验字符
-DWITH_DEBUG=0
-DENABLE_PROFILING=1

-DENABLED_LOCAL_INFILE=1    //允许从本地导入数据

# make -j 4                //启用4个线程同时编译

# make install

说明:编译安装主mysql数据库的同时,可进行从mysql数据库的编译安装,重复以上的步骤即可(也可以直接将编译好的的复制一份)。

注意事项:

重新编译时,需要清除旧的对象文件和缓存信息。

# make clean

# rm -f CMakeCache.txt

# rm -rf /etc/my.cnf(如果有该文件就删除,本人的目录中并无此文件)

第五步:进入安装目录,将程序二进制的所有权改为root,数据目录的所有权改为mysql用户,更新授权表,并安装数据库。

# cd /usr/local/mysql/
# chown -R root .   //注意:后面必须得有点,当前目录及其以下

# chown -R mysql .
# chgrp -R mysql .
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --collation-server=utf8_general_ci

第六步:设置用户的mysql的环境变量(编辑用户家目录中的.bash_profile文件)

# vim /root/.bash_profile

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

使该文件生效:# source .bash_profile

使所有用户都生效的方法:

# vim /etc/bashrc

在最后加入如下的东西:

PATH=$PATH:/usr/local/mysql/bin

第七步:将mysql的启动服务添加到系统服务中并设置开机自启动

主要是将mysql.server拷贝到/etc/rc.d/init.d中,命名为mysql。在有的系统中,源码包安装的mysql,mysql.server在/usr/local/mysql/support-files/mysql.server中。

# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

# chkconfig --add mysql        添加服务

# chkconfig --list          显示服务列表

如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入

# chkconfig –level 345 mysql on

# reboot                    重启电脑看下效果哦

# netstat -na | grep 3306            如果看到有监听说明服务启动了
如果远程利用工具无法连接数据则要关闭防火墙
# /etc/rc.d/init.d/iptables stop
或在/etc/sysconfig/iptables文件中添加一条规则后重启防火墙即可:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

第八步:配置主数据库文件/usr/local/mysql/my.cnf

log_bin=/usr/local/mysql/data/mysql3306-bin

binlog-ignore-db=mysql,test 避免同步mysql用户配置,以免不必要的麻烦

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port=3306

server_id=811

socket=/usr/local/mysql/data/mysql3306.sock

最后添加:lower_case_table_names=1  设置表名的大小写区分:0,区分大小写; 1,不区分

修改完成后重启mysql数据库服务使其生效

第八步:配置从数据

配置从数据库文件/usr/local/mysql3307/my.cnf

basedir =/usr/local/mysql3307

datadir =/usr/local/mysql3307/data

port =3307

server_id =812

socket =/usr/local/mysql3307/data/mysql3307.sock

pid-file =/usr/local/mysql3307/data/pid3307.pid

最后添加:lower_case_table_names=1  设置表名的大小写区分:0,区分大小写; 1,不区分

第九步:修改完成后重启mysql3307数据库服务使其生效

登录mysql3307从服务器

# mysql -u root -p --port=3307 --protocol=TCP

执行以下命令:

mysql>CHANGE MASTER TO

MASTER_HOST='192.168.1.171',

MASTER_USER='root',

MASTER_PASSWORD='fanjinbao',

MASTER_PORT=3306,

MASTER_LOG_POS=120; 去主服务器查询所得show master status \G;

Position: 120

说明:

MASTER_HOST:主服务器的IP。MASTER_USER:配置主服务器时建立的用户名
MASTER_PASSWORD:用户密码
MASTER_PORT:主服务器mysql端口,如果未曾修改,默认即可。

重新启动slave服务

Mysql>Start slave;

至此主从mysql数据库配置完毕,可通过在从数据库中输入

show slave status \G;

如果下面两个选项都是yes说明配置成功:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

也可以在主数据库中创建个数据库看从数据库中是否存在。

mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问

# mysql -u root -p --port=3307 --protocol=TCP

mysql>use mysql;

删除匿名用户和ipv6用户

mysql> drop user 'root'@'::1';

mysql> drop user ''@'localhost';

mysql> drop user ''@'master.fansik.com';

为了测试方便这里是允许root用户从任何地方登陆,生产环境中最好指定ip

mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";

mysql>update user set Password = password('fanjinbao') where User='root';

mysql>flush privileges;

mysql>exit;

如果要基于MySQL做开发:导出头文件:

# ln -sv /usr/local/mysql/include/ /usr/include/mysql

导出库文件:

# vim /etc/ld.so.conf.d/mysql.conf加入:/usr/local/mysql/lib

# ldconfig -v

查看是否添加成功:

# ldconfig -p | grep mysql

可选:运行安全设置脚本,修改MySQL用户root(不是系统的root!)的密码,禁止root远程连接(防止破解密码),移除test数据库和匿名用户,强烈建议生产服务器使用:

# /usr/local/mysql/bin/mysql_secure_installation

MySQL安装及主从配置的更多相关文章

  1. Mysql安装与主从配置

    安装MySql 操作系统:Windows Server 2008 R2 Standard MySql版本:mysql-5.7.17-winx64 第一步:解压mysql-5.7.17-winx64.z ...

  2. DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置

    DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置 一.DNS简介 1.DNS    DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库 ...

  3. Redis安装、主从配置及两种高可用集群搭建

    Redis安装.主从配置及两种高可用集群搭建 一.            准备 Kali Linux虚拟机 三台:192.168.154.129.192.168.154.130.192.168.154 ...

  4. 基于 CentOS Mysql 安装与主从同步配置详解

    CentOS Mysql 安装 Mysql (Master/Slave) 主从同步 1.为什么要使用主从同步 1.如果主服务器出现问题,可以快速切换到从服务器提供的服务 2.可以在从服务器上执行查询操 ...

  5. Mysql安装及主从复制配置

    1.下载 mysql数据库 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.9-linux-glibc2.5-x86_64.ta ...

  6. Mysql5.7.6安装和主从配置手册

    Mysql5.7.6+ 安装手册 linux server版本   1.下载 http://dev.mysql.com/downloads/mysql/#downloads  2. 检查库文件是否存在 ...

  7. Mysql同台机器主从配置

    Mysql主从配置 安装主Mysql 安装前的准备 检查系统是否存在mysql用户 [root@test mysql]# less /etc/passwd | grep mysql mysql:x:5 ...

  8. Redis 安装,主从配置及Sentinel配置自动Failover

    1.安装redis 首页地址:http://redis.io/ 下载地址:http://download.redis.io/ 下载最新的源码包 tar -zxvf redis-stable.tar.g ...

  9. Redis安装及主从配置(转)

    一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...

随机推荐

  1. 深入浅出设计模式——单例模式(Singleton Pattern)

    模式动机对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务:一个系统只能有一个窗口管理器或文件系统:一个系统只能有一个计时工具或ID(序号) ...

  2. 讲解Python中的递归函数

    本文的最重要的收获在于:尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式. 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 举个例 ...

  3. suds调用webservice

    一.安装 pip install suds 二.日志 import logging logging.basicConfig(level=logging.INFO) logging.getLogger( ...

  4. STM32学习笔记(六) SysTick系统时钟滴答实验(stm32中断入门)

    系统时钟滴答实验很不难,我就在面简单说下,但其中涉及到了STM32最复杂也是以后用途最广的外设-NVIC,如果说RCC是实时性所必须考虑的部分,那么NVIC就是stm32功能性实现的基础,NVIC的难 ...

  5. cube定时器延时不准确原因

    昨天晚上测试32cube配置好定时器,以1ms为一次中断,然后在程序中做了一个1s的延时,结果发现实际延时5s左右,百思不得其解,仔细查看cube配置也没问题.最后我打开生成工程文件夹里面的ioc文件 ...

  6. Android之垂直显示TextView

    Android之垂直显示TextView 1因为界面需求原因,需要TextView垂直显示,话不多说,看代码,我也是搜的例子,在此感谢写这个例子的大神,在此做个笔记和分享给大家 2.用到了自定义控件的 ...

  7. 渲染引擎之Camera

    Camera, 在游戏渲染引擎里面, 如果摄影师的眼睛, 它决定了观众可以看到的游戏内容.从3D技术角度讲,Camera就是如何计算视图矩阵view matrix的模块(这里不讨论透视的方法),无论是 ...

  8. 项目中关于ajax jsonp的使用

    项目中关于ajax jsonp的使用,出现了问题:可以成功获得请求结果,但没有执行success方法总算搞定了,记录一下 function TestAjax() {    $.ajax({       ...

  9. AS3绘制扇形算法解析

    网上有很多使用AS3画一个扇形的方法,但是却一个都没有解释这个函数是如何运作来画出扇形的,下面浅谈下我对这个函数的理解. 首先上代码,代码来自http://blog.csdn.net/weiming8 ...

  10. 并发编程 02—— ConcurrentHashMap

    Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...