CENTOS6.5 安装 mysql5.6 以及搭建双主
一、Mysql5.6.10安装
1.1、必要软件
yum -y install gcc gcc-c++ autoconf automake bison ncurses-devel libtool-ltdl-devel* cmake make
1.2、编译安装
[root@localhost src]#groupadd mysql
[root@localhost src]# useradd mysql -g mysql
[root@localhost src]# pwd
/usr/local/src
[root@localhost src]#mkdir /home/mysql/data -p
[root@localhost src]# mkdir /usr/local/mysql
[root@localhost src]# ls
mysql-5.6.10.tar.gz
Cm/pwd[root@localhost src]# tar -zvxf mysql-5.6.10.tar.gz
Cmake软件可以编译安装也可以不编译安装目前未发现不编译安装有什么问题
Rpm包cmake在centos中版本是 2.6.4-5.el6至于为什么编译安装cmake我个人认为是由于在rhel5中没有或者版本过低有些mysql的安装还是进行在rhel5之上在cmake的官网上也正是这两种版本2.6.4是始终有下载的
下载cmake-2.8.10.2版本
[root@localhost src]# tar -zvxf cmake-2.8.10.2.tar.gz
[root@localhost src]# cd cmake-2.8.10.2
[root@localhost cmake-2.8.10.2]# ./bootstrap
[root@localhost cmake-2.8.12.1]#make&&make install
[root@localhost cmake-2.8.12.1]# cmake --help |head -n1
cmake version 2.8.12.1
[root@localhost cmake-2.8.12.1]# cd /usr/local/src/mysql-5.6.10/storage
有哪些存储引擎的支持可以看一个目录
[root@localhost storage]# ls
archive csv federated innobase myisammrg perfschema
blackhole example heap myisam ndb
[root@localhost storage]# pwd
/usr/local/src/mysql-5.6.10/storage
[root@localhost storage]# cd /usr/local/src/mysql-5.6.10
[root@localhost mysql-5.6.10]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql/data/ \
-DSYSCONFDIR=/etc \
-DWITH_TCP_PORT=3306 \
-DMYSQL_USER=mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1
参数配置详细解释:
其实5.6版本可以所有的关于引擎的参数不填写因为默认是全部给安装的
而5.5则不同关于-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \ 这三个是必须要自己填写的否则的话只能编译出6个引擎;
# /* -DWITH_READLINE=1 # 快捷键功能
# /* -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysqld.sock # 连接数据库socket路径
# /* -DMYSQL_TCP_PORT=3306 # 端口
# /* -DENABLED_LOCAL_INFILE=1 # 允许从本地导入数据
[root@localhost src]#make && make install
[root@localhost src]#cd /usr/local/mysql/scripts/
[root@localhostsrc]#./mysql_install_db --user=mysql --datadir=/data/mysql/data --basedir=/usr/local/mysql
[root@localhost src]#cd /usr/local/mysql/support-files/
[root@localhost src]#cp mysql.server /etc/init.d/mysqld
[root@localhost src]#chmod 755 /etc/init.d/mysqld
[root@localhost src]#cat >>/etc/profile <<EOF
export PATH=$PATH:/usr/local/mysql/bin
EOF
[root@localhost src]#source /etc/profile
[root@localhost src]#cd /usr/local/mysql/support-files/
[root@localhost support-files]#cp -f my-default.cnf /etc/my.cnf
[root@localhost support-files]#cat >> /etc/my.cnf <<EOF
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
log-bin=mysql-bin
server_id=1
expire_logs_days=10
binlog_format=mixed
table_definition_cache=10000
max_connections=5000
key_buffer_size=2G
tmp_table_size=2G
read_buffer_size=4M
read_rnd_buffer_size=16M
sort_buffer_size=4M
join_buffer_size = 8M
thread_cache_size=64
wait_timeout=1800
query_cache_size=64M
innodb_buffer_pool_size=32G
innodb_additional_mem_pool_size=200M
innodb_sort_buffer_size=4M
innodb_log_buffer_size=4M
innodb_thread_concurrency=0
#innodb_data_file_path = ibdata1:1G:autoextend
innodb_flush_log_at_trx_commit = 2
innodb_status_file = 1
open_files_limit = 60000
innodb_open_files=60000
long_query_time=0.1
slow_query_log=1
slow_query_log_file=/home/mysql/data/slow-query.log
[root@client100 support-files]#chown mysql.mysql /etc/my.cnf
更改系统参数
Vi /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
# 将安装目录属主改为mysql[上面更改,到这里又变成root属主了,所以可以选择更改为mysql]
[root@client100 support-files]#chkconfig --add mysqld
[root@client100 support-files]#chkconfig mysqld on
[root@localhost support-files]# chkconfig --list |grep mysql --234必须为on
[root@client100 support-files]#service mysqld start
[root@client100 support-files]#echo "drop user 'root'@'::1';drop user ''@'localhost';drop user 'root'@'localhost.localdomain';"|mysql
[root@client100 support-files]#mysqladmin -u root password ‘haowu123'
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果起数据库报错多半不外乎两种可能
第一种是你[root@localhostsrc]#./mysql_install_db --user=mysql --datadir=/data/mysql/data --basedir=/usr/local/mysql路径不对那么重新执行这句
第二种则是你有老的数据库没有关闭或者你多次service mysqld start导致的。解决办法如下
[root@localhost support-files]# service mysqld restart
ERROR! MySQL server PID file could not be found!
Starting MySQL.. ERROR! The server quit without updating PID file (/data/mysql/data/localhost.localdomain.pid).
[root@localhost support-files]# ps -ef |grep mysql
root 47388 1 0 17:03 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql/data --pid-file=/data/mysql/data/localhost.localdomain.pid
mysql 47503 47388 0 17:03 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/data/localhost.localdomain.err --pid-file=/data/mysql/data/localhost.localdomain.pid
root 62679 11100 0 22:06 pts/0 00:00:00 grep mysql
[root@localhost support-files]# kill -9 47503
[root@localhost support-files]# service mysqld restart
ERROR! MySQL server PID file could not be found!
Starting MySQL.. SUCCESS!
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二、MYSQL5.5.34编译安装
Mysql5.5.34的安装步骤与上面基本一致编译的地方需要编译完全点另外模板复制方面也有些许不同
[root@localhost mysql-5.6.10]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql/data/ \
-DSYSCONFDIR=/etc \
-DWITH_TCP_PORT=3306 \
-DMYSQL_USER=mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1
[root@localhost support-files]# cp my-medium.cnf /etc/my.cnf
vim /etc/my.cnf
将上面的参数加到mysqld中存在的改变参数
ARCHIVE : ARCHIVE存储引擎被用来无索引地,非常小地覆盖存储的大量数据
BLACKHOLE :存储引擎接受但不存储数据,并且检索总是返回一个空集但是会记录到日志里。
FEDERATED :储引擎把数据存在远程数据库中
InnoDB and BDB :InnoDB和BDB存储引擎提供事务安全表
MEMORY :MEMORY存储引擎提供“内存中”表,MEMORY存储引擎正式地被确定为HEAP引擎。
MyISAM :MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。
EXAMPLE :EXAMPLE存储引擎是一个“存根”引擎,它不做什么。
NDB Cluster : 是被MySQL Cluster用来实现分割到多台计算机上的表的存储引擎。它在MySQL-Max 5.1二进制分发版里提供。这个存储引擎当前只被Linux, Solaris, 和Mac OS X 支持。
CSV : 存储引擎把数据以逗号分隔的格式存储在文本文件中。
MERGE : 存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表。就像MyISAM一样,MEMORY和MERGE存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中。在5.6中等同于MRG_MYISAM
最后如果你的存储引擎少安装了或者多安装了都没有关系你可以安装也可以卸载
1,查看一下,mysql配置是不是支持动态添加插件
mysql> show variables like "have_%";
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| have_compress | YES |
| have_crypt | YES |
| have_csv | YES |
| have_dynamic_loading | YES | //在这里是YES表示是支持的
如果是no呢,就不太好办,因为have_dynamic_loading是只读变量,
mysql> set have_dynamic_loading=1;
mysql> install plugin INNODB soname "ha_innodb.so";
mysql> install plugin INNODB_TRX soname "ha_innodb.so";
mysql> install plugin INNODB_LOCKS soname "ha_innodb.so";
mysql> install plugin INNODB_LOCK_WAITS soname "ha_innodb.so";
mysql> install plugin INNODB_CMP soname "ha_innodb.so";
mysql> install plugin INNODB_CMP_RESET soname "ha_innodb.so";
mysql> install plugin INNODB_CMPMEM soname "ha_innodb.so";
mysql> install plugin INNODB_CMPMEM_RESET soname "ha_innodb.so"
mysql> install plugin ARCHIVE soname "ha_archive.so";
安装好后,在用 show engines;或者show plugins;来查看
)
2: 搭建双主
(1): 在2台服务器上将mysql装好后修改2边的配置文件
vi /etc/my.cnf
master1开启日志模式:log_bin=mysql_bin
server_id=1
master2开启日志模式:log_bin=mysql_log
server_id=2
在master1上登入mysql: mysql –phaowu123
授权:grant replication slave on *.* to slave@‘%’ identified by ‘haowu@yunwei’;
刷新授权:flush privileges;
(2): master1上show master status; 查看master状态
reset master;
在master2上用slave用户登入master1测试授权是否成功
mysql –u –p –h
在master2上登入mysql做changer master to (注;先stop slave;)
CHANGE MASTER TO
MASTER_HOST=‘’,
MASTER_USER=‘’,
MASTER_PASSWORD=‘’,
MASTER_PORT=3306,
MASTER_LOG_FILE=‘’,
MASTER_LOG_POS=
MASTER_CONNECT_RETRY=10;
start slave;
show slave status\G
看到:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes 说明OK
(3): 2台上做法一样
到此 mysql互为主从搭建完成
CENTOS6.5 安装 mysql5.6 以及搭建双主的更多相关文章
- CentOS6.5安装MySQL5.6
CentOS6.5安装MySQL5.6,开放防火墙3306端口,允许其他主机使用root账户密码访问MySQL数据库 查看操作系统相关信息 ** 该查看方法只适用于CentOS6.5 (lsb_rel ...
- centos6.5安装Mysql5.6及更改密码
(一) centos6.5安装Mysql5.6 二进制文件安装的方法分为两种: 第一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件: 第二种是使用RPM或其他包进行 ...
- Centos6.5安装MySQL5.6备忘记录
Centos6.5安装MySQL5.6 1. 查看系统状态 [root@itzhouq32 tools]# cat /etc/issue CentOS release 6.5 (Final) Kern ...
- CentOS6.5安装mysql5.7
CentOS6.5安装mysql5.7 查看mysql的安装路径: [root@bogon ~]# whereis mysql mysql: /usr/bin/mysql /usr/lib/mysql ...
- 第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6
第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6 1.检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步 ...
- centos6.8安装mysql5.6【转】
首先先要去看看本机有没有默认的mysql, 本地默认有的,我们应先卸载,在安装新的这个逻辑. rpm -qa | grep mysql 我本机默认安装的mysql5.1.73 下一步删除 rpm -e ...
- (转)CentOS6.5安装Darwin Streaming Server搭建RTSP流媒体服务器
参考: 1,CentOS6.5安装Darwin Streaming Server搭建RTSP流媒体服务器 http://www.yimiju.com/articles/567.html
- RocketMQ学习笔记(16)----RocketMQ搭建双主双从(异步复制)集群
1. 修改RocketMQ默认启动端口 由于只有两台机器,部署双主双从需要四个节点,所以只能修改rocketmq的默认启动端口,从官网下载rocketmq的source文件,解压后使用idea打开,全 ...
- centos6.6安装mysql5.7.6(采用MySQL Yum Repository)—(先看最后一行)
在centos6.6系统上采用MySQL Yum Repository安装mysql5.7.6: 帮助文档:http://dev.mysql.com/doc/refman/5.7/en/linux-i ...
随机推荐
- lvs+keepalived实验
一.VRRP协议与工作原理 在现实网络环境中,主机之间的通信都是通过配置静态路由或者(默认网关)来完成的,而主机之间的路由器一旦发生故障,通信就会失效,因此这种通信模式当中,路由器就成了一个单点瓶颈, ...
- float 浮动详解
浮动(float):浮动原先设定时主要是用于文本环绕图像设定的,后来发现其在css布局中有很大的帮助,故渐渐使用浮动. 浮动后的元素脱离了文档的普通流,使得浮动的元素不占据文档的位置,其他元素可以覆盖 ...
- C语言进阶——关于07中指针的补充
首先我们应该了解指针可以分为: 野指针: 野指针不是NULL指针,是未初始化或未清零的指针,他指向的内存地址不是程序员想要的.人们一般不会错用NULL指针,因为用if语句很容易判断.但是“野指针”是很 ...
- 2018Ec-Final比赛总结
一场匆忙的旅程. NCC_9754_ Victory的最后一场比赛终究没能victory. 去的时候晕车到吐了两次,到宾馆吃完饭直接睡了,但还是两天都昏昏沉沉的头疼的厉害,第二天直接步行去了西工大体育 ...
- PAT Basic 1057
1057 数零壹 给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有 ...
- Evevt Loop、任务队列、定时器等
上周五,一个朋友发给我一道面试题,代码如下: console.log(1); setTimeout(console.log(2), 0); Promise.resolve().then(res =&g ...
- struct2 命名空间
转自http://blog.csdn.net/carefree31441/article/details/4857546 使用Struts2,配置一切正常,使用常用tag也正常,但是在使用<s: ...
- 获取ubuntu中软件包的有用地址
http://us.archive.ubuntu.com/ubuntu/pool/main/g/gettext/
- VS的几个实用快捷键
Ctrl + K, D格式化代码 Ctrl + L 删除一行 Ctrl + K, S调出自动代码块 svm之后二下TAB 生成Main方法 Ctrl + K,C注释代码块Ctrl+K,U取消注释
- 剑指Offer - 九度1355 - 扑克牌顺子
剑指Offer - 九度1355 - 扑克牌顺子2014-01-30 23:19 题目描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^). ...