| innodb_data_home_dir | 这是InnoDB表的目录共用设置。如果没有在 my.cnf 进行设置,InnoDB 将使用MySQL的datadir目录为缺省目录。如果设定一个空字串,可以innodb_data_file_path中设定绝对路径。 |
| innodb_data_file_path | 单独指定数据文件的路径与大小。数据文件的完整路径由 innodb_data_home_dir 与这里所设定值的组合。 文件大小以 MB 单位指定。因此在文件大小指定后必有“M”。 InnoDB 也支持缩写“G”, 1G = 1024M。从 3.23.44 开始,在那些支持大文件的操作系统上可以设置数据文件大小大于 4 GB。而在另一些操作系统上数据文件必须小于 2 GB。数据文件大小总和至少要达到 10 MB。在 MySQL-3.23 中这个参数必须在 my.cnf 中明确指定。在 MySQL-4.0.2 以及更新版本中则不需如此,系统会默认在 MySQL 的datadir目录下创建一个 16 MB 自扩充(auto-extending)的数据文件ibdata1。你同样可以使用一个 原生磁盘分区(RAW raw disk partitions(raw devices)) 作为数据文件 |
| innodb_mirrored_log_groups | 为了保护数据而设置的日志文件组的拷贝数目,默认设置为 1。在my.cnf 中以数字格式设置。 |
| innodb_log_group_home_dir | InnoDB 日志文件的路径。必须与
innodb_log_arch_dir设置相同值。 如果没有明确指定将默认在 MySQL 的datadir目录下建立两个 5 MB 大小的 ib_logfile… 文件。 |
| innodb_log_files_in_group | 日志组中的日志文件数目。InnoDB 以环型方式(circular fashion)写入文件。数值 3 被推荐使用。在 my.cnf 中以数字格式设置。 |
| innodb_log_file_size | 日志组中的每个日志文件的大小(单位 MB)。如果 n 是日志组中日志文件的数目,那么理想的数值为 1M 至下面设置的缓冲池(buffer pool)大小的 1/n。较大的值,可以减少刷新缓冲池的次数,从而减少磁盘 I/O。但是大的日志文件意味着在崩溃时需要更长的时间来恢复数据。 日志文件总和必须小于 2 GB,3.23.55 和 4.0.9 以上为小于 4 GB。在my.cnf 中以数字格式设置。 |
| innodb_log_buffer_size | InnoDB 将日志写入日志磁盘文件前的缓冲大小。理想值为 1M 至 8M。大的日志缓冲允许事务运行时不需要将日志保存入磁盘而只到事务被提交(commit)。 因此,如果有大的事务处理,设置大的日志缓冲可以减少磁盘I/O。 在 my.cnf 中以数字格式设置。 |
| innodb_flush_log_at_trx_commit | 通常设置为 1,意味着在事务提交前日志已被写入磁盘, 事务可以运行更长以及服务崩溃后的修复能力。如果你愿意减弱这个安全,或你运行的是比较小的事务处理,可以将它设置为 0 ,以减少写日志文件的磁盘 I/O。这个选项默认设置为 0。 |
| innodb_log_arch_dir | The directory where fully written log files would be archived if we used log archiving. 这里设置的参数必须与innodb_log_group_home_dir相同。 从 4.0.6 开始,可以忽略这个参数。 |
| innodb_log_archive | 这个值通常设为 0。 既然从备份中恢复(recovery)适合于 MySQL 使用它自己的 log files,因而通常不再需要 archive InnoDB log files。这个选项默认设置为 0。 |
| innodb_buffer_pool_size | InnoDB 用来高速缓冲数据和索引内存缓冲大小。 更大的设置可以使访问数据时减少磁盘 I/O。在一个专用的数据库服务器上可以将它设置为物理内存的 80 %。 不要将它设置太大,因为物理内存的使用竞争可能会影响操作系统的页面调用。在 my.cnf 中以数字格式设置。 |
| innodb_additional_mem_pool_size | InnoDB 用来存储数据字典(data dictionary)信息和其它内部数据结构(internal data structures)的存储器组合(memory pool)大小。理想的值为 2M,如果有更多的表你就需要在这里重新分配。如果 InnoDB 用尽这个池中的所有内存,它将从操作系统中分配内存,并将错误信息写入 MySQL 的错误日志中。在 my.cnf 中以数字格式设置。 |
| innodb_file_io_threads | InnoDB 中的文件 I/O 线程。 通常设置为 4,但是在 Windows 下可以设定一个更大的值以提高磁盘 I/O。在 my.cnf 中以数字格式设置。 |
| innodb_lock_wait_timeout | 在回滚(rooled back)之前,InnoDB 事务将等待超时的时间(单位 秒)。InnoDB 会自动检查自身在锁定表与事务回滚时的事务死锁。如果使用LOCK TABLES命令,或在同一个事务中使用其它事务安全型表处理器(transaction safe table handlers than InnoDB),那么可能会发生一个 InnoDB 无法注意到的死锁。在这种情况下超时将用来解决这个问题。这个参数的默认值为 50 秒。在 my.cnf 中以数字格式设置。 |
| innodb_flush_method | 这个参数仅仅与 Unix 相关。这个参数默认值为fdatasync。 另一个设置项为O_DSYNC
。这仅仅影响日志文件的转储,在 Unix 下以fsync转储数据。InnoDB 版本从 3.23.40b 开始,在 Unix 下指定fdatasync 为使用fsync方式、指定O_DSYNC为使用O_SYNC方式。由于这在某些 Unix 环境下还有些问题所以在 ‘data’ versions 并没有被使用。 |
| innodb_force_recovery | 警告:此参数只能在你希望从一个被损坏的数据库中转储(dump)数据的紧急情况下使用! 可能设置的值范围为 1 – 6。查看下面的章节 ‘Forcing recovery’ 以了解这个参数的具体含义。参数设置大于 0 的值代表着 InnoDB 防止用户修改数据的安全度。从 3.23.44 开始,这个参数可用。在 my.cnf 中以数字格式设置。 |
| innodb_fast_shutdown | InnoDB 缺少在关闭之前清空插入缓冲。这个操作可能需要几分钟,在极端的情况下可以需要几个小时。如果这个参数据设置为 1 ,InnoDB 将跳过这个过程而直接关闭。从 3.23.44 和 4.0.1 开始,此参数可用。从 3.23.50 开始,此参数的默认值为 1。 |
| innodb_thread_concurrency | InnoDB 会试图将 InnoDB 服务的使用的操作系统进程小于或等于这里所设定的数值。此参数默认值为 8。如果计算机系统性能较低或innodb_monitor显示有很多线程等侍信号,应该将这个值设小一点。如果你的计算机系统有很我的处理器与磁盘系统,则可以将这个值设高一点以充分利用你的系统资源。建议设值为处理器数目+ 磁盘数目。 从 3.23.44 和 4.0.1 开始,此参数可用。在 my.cnf 中以数字格式设置。 |
Author Archives: 惜分飞
oracle集群管理入门级命令
1、crs的开启和关闭
关闭crs
/etc/init.d/init.crs stop
打开crs
/etc/init.d/init.crs start
2、启动和关闭所有的集群服务
关闭
crs_stop -all
启动
crs_start -all
3、手工启动集群服务的顺序
节点应用【nodeapps】–>ASM实例–>生产实例–>服务
srvctl start nodeapps -n node1
srvctl start nodeapps -n node2
srvctl start asm -n node2
srvctl start asm -n node1
使用sqlplus登录到各个节点 startup数据库
4、手工关闭集群服务的顺序
使用sqlplus登录到各个节点 shutdown immediate数据库
srvctl stop asm -n node2
srvctl stop asm -n node1
srvctl stop nodeapps -n node1
srvctl stop nodeapps -n node2
5、检查crs资源状态
crs_stat –t
10g rac安装注意事项
1、配置ip地址不要忘记网关
DEVICE=eth0
BOOTPROTO=none
BROADCAST=192.168.100.255
HWADDR=00:0C:29:28:8F:AC
IPADDR=192.168.100.101
NETMASK=255.255.255.0
NETWORK=192.168.100.0
ONBOOT=yes
TYPE=Ethernet
GATEWAY=192.168.100.1
2、域名解析不要忘记了localhost
127.0.0.1 localhost
192.168.100.101 node1
192.168.100.102 node2
192.168.100.201 node1-vip
192.168.100.202 node2-vip
10.10.17.221 node1-priv
10.10.17.222 node2-priv
3、重新安装处理
rm -f /etc/init.d/init.cssd
rm -f /etc/init.d/init.crs
rm -f /etc/init.d/init.crsd
rm -f /etc/init.d/init.evmd
rm -f /etc/rc2.d/K96init.crs
rm -f /etc/rc2.d/S96init.crs
rm -f /etc/rc3.d/K96init.crs
rm -f /etc/rc3.d/S96init.crs
rm -f /etc/rc5.d/K96init.crs
rm -f /etc/rc5.d/S96init.crs
rm -rf /etc/oracle/scls_scr
rm -f /etc/inittab.crs
rm -rf /u01/oraInventory
rm -rf /u01/app/crs
rm -rf /etc/ora*
rm -rf /etc/init.d/init.*
rm -f /usr/local/bin/*
rm -rf /opt/ORCLfmap
rm -rf /opt/oracle/admin
dd if=/dev/null of=/dev/raw/raw2 bs=209715200 count=1
dd if=/dev/null of=/dev/raw/raw1 bs=104857600 count=1
dd if=/dev/null of=/dev/raw/raw3 bs=1232896 count=1000
dd if=/dev/null of=/dev/raw/raw4 bs=1232896 count=1000
Note:dd操作效果不好,可以在执行root.sh到Startup will be queued to init within 90 seconds.挂起后,执行$CRS_HOME/install/rootdeinstall.sh,然后再执行root.sh
4、因内网ip地址不能被自动添加到vip中处理
出现现象:
Checking existence of VIP node application (required)
Check failed.
Check failed on nodes:
node2,node1
解决:使用root账户运行图画界面vipca,手工添加vip的域名和地址
5、remote_listener和tns名称一致
show parameter remote_listener
NAME TYPE VALUE
———————————— ———– ————-
remote_listener string LISTENERS_XFF
tnsnames.ora
LISTENERS_XFF =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.201)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.202)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = xff)
)
)
6、各个节点时间一致
选择一种一个为时间参考节点
[root@node1 bin]# cat /etc/ntp.conf
server 127.127.1.0
fudge 127.127.1.0 stratum 11
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
其他节点同步该时间
[root@node2 bin]# crontab -l
*/15 * * * * ntpdate node1
均开启ntpd服务
service ntpd start
chkconfig ntpd on
wordpress中常用sql语句
开启所有评论
UPDATE wp_posts
SET comment_status = ‘open’
WHERE post_status = ‘publish’;
关闭旧文章的留言
UPDATE wp_posts
SET comment_status = ‘closed’
WHERE post_date < '2009-01-01' AND post_status = 'publish'
删除所有的垃圾评论
DELETE FROM wp_comments
WHERE comment_approved = ‘spam’
删除所有文章修订版本(Revisions)以及它们的Meta数据
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = ‘revision’
清理wp_postmeta表
DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_old_slug’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_revision-control’;
DELETE FROM wp_postmeta WHERE meta_value = ‘{{unknown}}’;
写成shell脚本,添加表优化,可以使用crontab定时调用处理
执行shell
mysql解锁
一、查看进程运行情况(会话1)
mysql> select id,user,host,db,command,time,state from processlist a;
+—-+——+—————–+——————–+———+——+———–
+
| id | user | host | db | command | time | state
|
+—-+——+—————–+——————–+———+——+———–
+
| 40 | root | localhost:14046 | information_schema | Query | 0 | executing
|
| 39 | root | localhost:13992 | chf | Sleep | 251 |
|
| 38 | root | localhost:13991 | chf | Sleep | 251 |
|
+—-+——+—————–+——————–+———+——+———–
+
3 rows in set (0.00 sec)
二、构造表被锁现象
1)锁住表(会话1)
mysql>LOCK TABLES chf.disc02 READ;或者–LOCK TABLES chf.disc02 WRITE;
2)执行dml操作(会话2)
mysql>delete from chf.disc02 limit 1;–会话处于卡死状态
3)查询进程运行情况(会话1)
mysql> select id,user,host,db,command,time,state from processlist a;
+—-+——+—————–+——————–+———+——+———–
+
| id | user | host | db | command | time | state
|
+—-+——+—————–+——————–+———+——+———–
+
| 41 | root | localhost:14358 | chf | Query | 5 | Locked
|
| 40 | root | localhost:14046 | information_schema | Query | 0 | executing
|
| 39 | root | localhost:13992 | chf | Sleep | 343 |
|
| 38 | root | localhost:13991 | chf | Sleep | 343 |
|
+—-+——+—————–+——————–+———+——+———–
+
4 rows in set (0.01 sec)
说明:发现进程id为41的进程状态为Locked
三、解锁操作
1)删掉被锁进程(会话1)
mysql> kill 41;
出现现象(会话2)
ERROR 2013 (HY000): Lost connection to MySQL server during query
2)查看进程(会话1)
mysql> select id,user,host,db,command,time,state from processlist a;
+—-+——+—————–+——————–+———+——+———–
+
| id | user | host | db | command | time | state
|
+—-+——+—————–+——————–+———+——+———–
+
| 40 | root | localhost:14046 | information_schema | Query | 0 | executing
|
| 39 | root | localhost:13992 | chf | Sleep | 298 |
|
| 38 | root | localhost:13991 | chf | Sleep | 298 |
|
+—-+——+—————–+——————–+———+——+———–
+
3 rows in set (0.01 sec)
四、批量解锁
mysql> select concat(‘kill ‘,id,’;’) kill_process from processlist a where a.state=’Locked’;
+————–+
| kill_process |
+————–+
| kill 43; |
| kill 42; |
+————–+
2 rows in set (0.01 sec)
Note:
1)可以使用show processlist查看当前用户连接
如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。show processlist;只列出前100条,如果想全列出请使用show full processlist;
2)在构造锁的会话中,使用unlock tables;也可以解锁
