[分享]mysql5.5.6 配置手册_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1949 | 回复: 0   主题: [分享]mysql5.5.6 配置手册        下一篇 
wlcbhrss
注册用户
等级:新兵
经验:68
发帖:65
精华:0
注册:2011-8-21
状态:离线
发送短消息息给wlcbhrss 加好友    发送短消息息给wlcbhrss 发消息
发表于: IP:您无权察看 2014-12-10 11:38:50 | [全部帖] [楼主帖] 楼主

一.mysql5.5.6 安装 1.卸载原有的 mysql #rpm -qa|grep -i mysql #rpm -ev MySQL-client-5.5.6_rc-1.linux2.6 #rpm -ev MySQL-server-5.5.6_rc-1.linux2.6 卸载后/var/lib/mysql 中的数据及/etc/my.cnf 不会删除,如果确定没用后就手工删除 #rm -f /etc/my.cnf #rm -rf /var/lib/mysql

2.安装 mysql5.5.6 #rpm -ivh MySQL-server-5.5.6_rc-1.linux2.6.i386.rpm MySQL-client-5.5.6_rc-1.linux2.6.i386.rpm #/usr/bin/mysqladmin -u root password 'founder'

#/usr/bin/mysqladmin -u root -h localhost.localdomain password 'founder'
#mysql -uroot -pfounder mysql>use mysql; mysql>grant all on *.* to root@'%' identified by "founder"; mysql>FLUSH PRIVILEGES; mysql>exit; #cp /usr/share/mysql/my-small.cnf /etc/my.cnf


二.配置半同步模式的主从配置 1.半同步的配置: master>INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; master>SET GLOBAL rpl_semi_sync_master_enabled=1; master>SET GLOBAL rpl_semi_sync_master_timeout=10;

slave-x>INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'; slave-x>SET GLOBAL rpl_semi_sync_slave_enabled=1;
On the master: [mysqld] rpl_semi_sync_master_enabled=1 rpl_semi_sync_master_timeout=10
On each slave: [mysqld] rpl_semi_sync_slave_enabled=1


2.配置主从模式 (1).在 maste 主机上,配置 my.cnf 在[mysqld]配置段添加如下字段中增加

rpl_semi_sync_master_enabled=1 rpl_semi_sync_master_timeout=10 server-id=1 log-bin=mysql-bin.log binlog-do-db=shop1


重启 mysql #service mysqld restart 进入 mysql 中 #mysql -u root -ppassword 增加同步帐号 mysql>grant replication slave on *.* to 'repl'@'%' identified by 'repl'; mysql>FLUSH PRIVILEGES; mysql>use mysql; mysql>flush tables with read lock; mysql>show master status; mysql>unlock tables;

(2).配置 slave 数据库 首先创建数据库 #mysql -uroot -ppassword mysql>create database databasename #建一个与主服务器 的数据库名字相同的数据库 mysql>exit;

(3).在从数据库的[mysqld]配置段添加如下字段中增加 #172.29.129.183 rpl_semi_sync_slave_enabled=1 server-id=2 #master-host=172.29.165.75 #master-user=repl #master-password=repl #master-connect-retry=60 replicate-do-db=shop1

(4).重启数据库 #/etc/init.d/mysql restart

(5).分别进入数据库中 在 salve2 上 #mysql -uroot -pfounder mysql>slave stop; mysql>CHANGE MASTER TO MASTER_HOST='172.29.165.75',MASTER_USER='repl',MASTER_PASSWORD='repl',MASTER_LOG_FILE='mysql -bin.000002',MASTER_LOG_POS=1448;

MYSQL>START SLAVE; 【注意】 172.29.165.75 repl mysql-bin.000002 1448 ---masterDB 的 IP ---为主从同步需要的用户名及密码 ---在 master 上执行 show master status 的 log 文件名 ---需要同步的起点位置(在 master 上执行 show master status 得出该结果)

3.将主从复制的默认模式 SBR 改为 RBR(行级模式) 在主机器上的[mysqld]节点加入 expire_logs_days=1 ---一天后删除旧的日志文件

#binlog_format="STATEMENT" binlog_format="ROW" #binlog_format="MIXED"


三.mysql 参数调整 innodb_buffer_pool_size:占总内存的 70%~80% innodb_log_file_size:一般为 64-512M,即名为 ib_logfile*文件的大小 innodb_log_buffer_size:一般为 8-16M innodb_flush_log_at_trx_commit:一般为 1 innodb_log_files_in_group:ib_logfile*的个数 innodb_file_per_table:使每个 Innodb 的表,有自已独立的表空间 innodb_open_files:默认为 300,若打开的表特别多可以增加该值 back_log:默认为 50,当有大量连接时,需要设定该值,此值为等待侦听的队列大小 max_connections:mysql 最大连接数 table_cache:通过 show status 查看 open_tables 数,使 table_cache 值和 open_tables 保持一致 thread_cache:至少为 16 query_cache_size:(average query size = (query_cache_size qcache_free_memory)/qcache_queries_in_cache) show status like 'qcache%';可查出相关数据

命中率计算公式:Qcache_hits / (Qcache_inserts + Qcache_hits ) * 100%

/*======================= 写入 my.cnf 配置文件中的内容 ========================*/ innodb_buffer_pool_size=2510M innodb_log_file_size=512M innodb_log_buffer_size=8M innodb_flush_log_at_trx_commit=1 innodb_log_files_in_group=3 innodb_file_per_table=1 innodb_open_files=800 back_log=50 max_connections=1024 table_cache=2048
thread_cache=16 query_cache_size=32M


四.重设/清除 master 二进制日志文件 1.手动清除日志文件 --删除 mysql-bin.000005 之前的日志 mysql>PURGE MASTER LOGS TO 'mysql-bin.000005'; --删除 1 天前的日志 mysql>PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY);

2.重设 master 的日志文件 mysql>reset master; 注意:重设 master 日志文件后,slave 的主从需要重新启动,如下所示: mysql>slave stop; mysql>CHANGE MASTER TO MASTER_HOST='172.29.165.75',MASTER_USER='repl',MASTER_PASSWORD='repl',MASTER_LOG_FILE='mysql -bin.000002',MASTER_LOG_POS=1448; mysql>slave start;

【注意】 172.29.165.75 repl mysql-bin.000002 1448 ---masterDB 的 IP ---为主从同步需要的用户名及密码 ---在 master 上执行 show master status 的 log 文件名 ---需要同步的起点位置(在 master 上执行 show master status 得出该结果)

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论