0%

不论是什么行业里,能让人最兴奋的事情通常都是解决新奇的、高难度问题带来的刺激。在我的工作中,经常会遇到很多bug,乍一看,它们都是不可能的。不是不可能解决,而是完全不可能出现。就好像最前沿的科技揭示了一个新的奇怪的逻辑现象,以至于人的大脑完全无法理解。

阅读全文 »

1 环境

两个节点

1
2
172.17.164.17 rabbitmq-node1 #centos6.4
172.17.164.18 rabbitmq-node2 #centos6.4
1.1 修改hostname

修改3个地方

/etc/hosts
1
2
172.17.164.17 rabbitmq-node1
172.17.164.18 rabbitmq-node2
/etc/sysconfig/network
1
2
HOSTNAME=rabbitmq-node1
HOSTNAME=rabbitmq-node2
如果不想重启,直接修改hostname,重新登陆即可
1
[root@localhost ~]# hostname rabbitmq-node1
阅读全文 »

将新建的用户增加到sudoers中

1
2
3
4
5
6
7
vim /etc/sudoers
#修改如下
# User privilege specification
root ALL=(ALL:ALL) ALL
mark ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
阅读全文 »

[转载]MySQL是一个功能强大的开源数据库。随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限。这里是101条调节和优化MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧。

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/bin/bash
if [ `uname -m` == "x86_64" ];then
machine=x86_64
else
machine=i686
fi

mysqlBasedir=/storage/server/mysql
mysqlDatadir=${mysqlBasedir}/data/
mysqlLogdir=/storage/log/mysql
mysqlUser=mysql
mysqlGroup=mysql

mkdir -p $mysqlBasedir
mkdir -p $mysqlDatadir
mkdir -p $mysqlLogdir

#如果mysql已安装,删除原有mysql
if [ $machine == "x86_64" ];then
rm -rf mysql-5.6.30-linux-glibc2.5-x86_64
if [ ! -f mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz ];then
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz
fi
tar -xzvf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.30-linux-glibc2.5-x86_64/* $mysqlBasedir
else
rm -rf mysql-5.6.30-linux-glibc2.5-i686
if [ ! -f mysql-5.6.30-linux-glibc2.5-i686.tar.gz ];then
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.30-linux-glibc2.5-i686.tar.gz
fi
tar -xzvf mysql-5.6.30-linux-glibc2.5-i686.tar.gz
mv mysql-5.6.30-linux-glibc2.5-i686/* $mysqlBasedir

fi

#添加mysql用户组
groupadd $mysqlGroup
#添加mysql用户 ,并制定组为mysql /sbin/nologin意思是用户不允许登录
useradd -g $mysqlGroup -s /sbin/nologin $mysqlUser
#安装服务
${mysqlBasedir}/scripts/mysql_install_db --datadir=$mysqlDatadir --basedir=$mysqlBasedir --user=$mysqlUser

#设置权限
chown -R ${mysqlUser}:${mysqlGroup} $mysqlBasedir
chown -R ${mysqlUser}:${mysqlGroup} $mysqlDatadir
chown -R ${mysqlUser}:${mysqlGroup} $mysqlLogdir

#把mysql.server放到/etc/init.d 目录下方便使用
\cp -f ${mysqlBasedir}/support-files/mysql.server /etc/init.d/mysqld
#脚本里面的这两行在mysql启动文件指定mysql数据库的安装目录和数据目录存放目录
sed -i 's#^basedir=$#basedir='${mysqlBasedir}'#' /etc/init.d/mysqld
sed -i 's#^datadir=$#datadir='${mysqlDatadir}'#' /etc/init.d/mysqld

#配置文件
cat > /etc/my.cnf <<END
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

log-bin=mysql-bin
binlog_format=mixed
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
END

chmod 755 /etc/init.d/mysqld
/etc/init.d/mysqld start
#没测试过
$mysqlBasedir/bin/mysqladmin -uroot password 'hhw840129'

最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。

下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。

阅读全文 »