Linux上安装Mysql

Cache Server Configuration Manual

1、Operation System Requirement:
RedHat Linux AS 4 update 4
2、Package Installation:
1) Editors
2) Server Configuration Tools
3) Development Tools
4) Administration Tools
3、Language:
English (US)
4、Application Software:
1)Software: Squid-3.0.STABLE8加密版本 Mysql for Linux 5.0.45
2)Download the software files from Files server (192.168.65.180)
5、Mysql Configuration
1) 安装路径
/usr/local/mysql
2) 添加用户和组
# groupadd mysql 添加组命令
# useradd mysql -g mysql 添加用户命令
4) Mysql编译参数
将mysql-5.0.45.tar.gz上传到服务器/root文件,首先解压mysql-5.0.45.tar.gz文件,输入以下命令
#tar –zvxf mysql-5.0.45.tar.gz
cd mysql-5.0.45 然后执行下面命令
[Shell]# ./configure --prefix=/usr/local/mysql --enable-thread-safe-client --with-charset=utf8 --with-extra-charsets=all --with-mysqld-user=mysql --enable-large-files --with-big-tables --with-unix-socket-path=/tmp/mysql.sock --localstatedir=/var/lib/ --with-plugins=all

5) 编译与安装
#make
# make install
6) 修改权限
# chown -R mysql:mysql /usr/local/mysql
7) 初始化数据库、修改权限
#./scripts/mysql_install_db --datadir=/var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
8)复制并修改Mysql系统配置文件
#cp -arf support-files/my-medium.cnf /etc/my.cnf
vi /etc/my.cnf
[mysqld]
skip-name-resolve //这一选项可以消除MySQL进行DNS解析的时间
#skip-federated //注释掉
#log-bin=mysql-bin //注释掉mysql-bin
set-variable = max_connections=60000 设置连接
9)添加mysql到Service ,并设置随机自动运行Mysql
#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
接着把它的属性改为“x”(executable,可执行)
#chmod +x /etc/init.d/mysqld
#chown mysql.mysql /etc/init.d/mysqld
修改/etc/init.d/mysqld (第46、47行)
basedir=/usr/local/mysql
datadir=/var/lib/mysql

10) 最后,运行chkconfig把MySQL添加到你系统的启动服务组里面去。
#/sbin/chkconfig --add mysqld
11) 服务启动
# service mysqld start
12) 更改mysql管理员密码
#mysqladmin -u root password ‘cdnhub2008’


权限分配:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Gcdn.idcsea.com' WITH GRANT OPTION;
其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户 ('monty'@'localhost')只用于从本机连接时。另一个账户('monty'@'%')可用于从其它主机连接。


mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
该账户只用于从本机连接。授予了RELOAD和PROCESS管理权限。这些权限允许admin用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-xxx命令,以及mysqladmin processlist。未授予访问数据库的权限。你可以通过GRANT语句添加此类权限。

mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';
一个账户有用户名dummy,没有密码。该账户只用于从本机连接。未授予权限。通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。它可以将所有全局权限设为'N'。假定你将在以后将具体权限授予该账户。
flush privileges;
6、Squid Database configuration
[Shell]# mysql –u root –p
Mysql> create database squid;
Mysql> use squid;
Mysql> create table traffic (
date datetime default '0000-00-00 00:00:00',
cachemsec int,
ip_addr varchar(15),
tag varchar(28),
httpcode int,
bytes bigint(20) ,
method varchar(5),
url varchar(255),
user char(8),
timeout varchar(12),
hierstr varchar(10),
hierhost varchar(15),
contenttype varchar(30),
ereq varchar(20),


erep varchar(20)
);
Mysql> GRANT ALL ON squid.* TO squid@localhost IDENTIFIED BY 'squidsar';
Mysql>GRANT ALL ON squid.* TO [email protected] IDENTIFIED BY 'squidsar';
Mysql>flush privileges;
注:数据库名:squid,表名:traffic,用户名squid,密码:squidsar(2008-04-08更新)


7、JAVA Configuration
1)、安装路径
/usr/local/java/
2)、安装方法
从文件服务器上传 jdk-6u4-linux-i586.bin和mysql-connector-java-5.1.5-bin.jar至/usr/local
# sh jdk-6u4-linux-i586.bin 弹出协议,大概按下7次空格键后,输入yes,会在/usr/local下生成一个jdk1.6.0_04目录
3)、将mysql-connector-java-5.1.5-bin.jar文件移动到jdk1.6.0_04
#mv mysql-connector-java-5.1.5-bin.jar jdk1.6.0_04/lib
4)、将文件移动到java下
# mkdir /usr/loca/java
# mv /usr/local/jdk1.6.0_04 /usr/local/java
5)、配置环境变量
#vi /root/.bash_profile 在文件尾部加入以下信息
 export LANG= en
export LC_ALL= C
export JAVA_HOME=/usr/local/java/jdk1.6.0_04
export JAVA_BIN=$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/mysql-connector-java-5.1.5-bin.jar
export PATH=$JAVA_HOME/bin:$PATH

6、重新登录Linux,新的java环境立即生效
8、SSL Support Configuration
1)、下载openssl
http://www.openssl.org/source/openssl-0.9.8i.tar.gz或从192.168.65.180中取得
2)、解压安装
#tar -zvxf openssl-0.9.8i.tar.gz
#cd openssl-0.9.8i
#./config --prefix=/usr/local/openssl
# make
# make install
#
3)、产生key
#cd /usr/local/openssl/ssl
#openssl genrsa -out privkey.pem 2048
4)、产生证书
#openssl req -new -keyout privkey.pem -nodes -x509 -days 1095 -out cacert.pem
Country Name (2 letter code) [GB]:CN

State or Province Name (full name) [Berkshire]:Beijing
Locality Name (eg, city) [Newbury]: Beijing
Organization Name (eg, company) [My Company Ltd]:CDNHUB System Co,.Ltd.
Organizational Unit Name (eg, section) []:noc
Common Name (eg, your name or your server's hostname) []:ssl-gw-bjcnc-60.cdnhub.com(视节点名称而改变)
Email Address []:[email protected]
5)、配置squid:
将以下内容插入到squid的配置文件sqiud.conf中(可通过CDNMS系统来生成)
#SSL Support
https_port 443 vhost vport=443 cert=/usr/local/openssl/ssl/cacert.pem key=/usr/local/openssl/ssl/privkey.pem
sslproxy_flags DONT_VERIFY_PEER

9、Squid Configuration
1) 安装路径
/usr/local/squid 从文件服务器将文件上传至/usr/local/目录下
2) 添加用户和组
# groupadd squid 添加组命令
# useradd squid –g squid 添加用户命令
3)初始化目录级权限
#mkdir /cachelog/squid
# mkdir /cachelog/squid/logs
# mkdir /cachelog/squid/logs/backups
#chown –R squid:squid /cache*
4) 解压文件
# tar –zvxf squid.3.0.8.tar.gz
5) 修改权限
#chown –R squid:squid /usr/local/squid
6) 生成配置文件(squid.conf)
手上上传配置文件或通过CDNMS生成(如果通过CDNMS生成,需先进行第10点操作完成后,方可远程生成配置文件)
7)初始化Cache目录
#/usr/local/squid/sbin/squid –z
8) 启动squid服务
# ulimit –Hn 32768
# /usr/local/squid/sbin/squid –D –s &


10、CDNCS-Configuration
1)修改IPTABLE:将新的节点服务器IP增加至/root/ipfw.sh文件中,并运行/root/ipfw.sh文件
2)修改路由表走向,CDNCS服务器分别配有电信,网通,香港IP地址各一个,默认路由是电信出口,如果增加的节点服务器为网通或国外节点,需要个修改/root/route.sh文件,将其节点IP手动增加到路由表,并手工执行路由增加命令
3)授权节点服务器对CDNCS中的mysql有写入的权限:
进入mysql服务器,执行以下命令:
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 284 to server version: 5.0.45

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql
Database changed
mysql> GRANT INSERT ON COUNT_CDN_SAR.* TO [email protected] IDENTIFIED BY 'squidcount';
mysql>GRANT SELECT,UPDATE ON cdnhub_cdnms.CACHE_SERVER_STATUES TO [email protected] IDENTIFIED BY 'squidcount';
mysql>exit
备注:x.x.x.x 为节点服务器的IP地址

4)修改随机启动文件,将防火墙配置和squid随服务器一起启动
#vi /etc/rc.local
添加以下内容
/bin/sh /root/ipfw.sh &
ulimit –Hn 32768
/usr/local/squid/sbin/squid –D –s &

11、Remote Admin and Traffic Statistic Configuration
1)安装目录
将cdnhub文件夹上传到/usr/local下
2)修改该目录所以.sh文件,增加可执行权限。
#chmod +x *.sh (分别进入各目录执行)
4)修改rmi目录中的rmi_server.properties,替换IP、IPENCRYPT(这个值需要在CDNMS加添服务器后取得),修改完成后,启动rmi监控程序:sh server.sh &
5)修改sar目录中的COUNT_CDN_SAR_DB.properties中的jdbc:mysql://220.231.181.244(适合电信节点),如果是网通节点,需将该IP换成58.251.130.222
6)修改sar目录中的Read_Stop_domain_ip_traffic.properties的localAddress=210.83.80.217(节点服务器IP)和domain_ip_traffic_last_data_time=2008-11-05 17\:53\:00(修改DNS时的时间,也就是第一次使用时间)
修改完以上配置文件后,启动流量上传程序文件:sh start_traffic.sh &


12、Auto Split AccessLog and upload to FTPSRV
1)上传文件:将文件Split_Access_log_preday_predomain.sh ftplog.sh uploadaccesslog.sh上传到节点服务器/cachelog/squid/logs/backups/
2)授于执行权限:chmod +x /cachelog/squid/logs/backups/*.sh
13、Crontab Configuration
# crontab –e
添加以下内容:
#-----------SyncTime------------------------------
0 0 * * * /usr/local/cdnhub/system/synctime.sh
#-----------Backup Access Log --------------------
0 0 * * * /usr/local/cdnhub/system/access-log-backup.sh
#----------Split AccessLog and upload AccessLog----
1 1 * * * /cachelog/squid/logs/backups/uploadaccesslog.sh
#---------- Java program monitoring-------
*/10 * * * * /usr/local/cdnhub/system/Monitorjava.sh
:wq保存退出


14、Firewall setting
1)Firewall文件存放路径:/root/ipfw.sh
2)Firewall文件内容:
#!/bin/sh
/sbin/iptables -F
# SSH service access list
/sbin/iptables -A INPUT -i eth0 -p tcp -s 10.92.254.0/24 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 10.92.16.0/24 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 192.168.65.0/24 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 220.232.159.0/24 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 220.231.182.0/24 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 220.231.183.0/24 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 58.251.1.0/24 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 58.251.50.0/24 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 61.145.165.0/24 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 222.126.128.0/17 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 0.0.0.0/0 --dport 22 -j DROP
# http and https and other service access list
/sbin/iptables -A INPUT -i eth0 -p tcp -m multiport -s 0.0.0.0/0 --dport 80,443 -j ACCEPT
#SNMP service only for mrtg.cdnhub.com
/sbin/iptables -A INPUT -i eth0 -p udp -s 220.231.181.242/32 --dport 161 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p udp -s 0.0.0.0/0 --dport 161 -j DROP
#java for Squid configuration
/sbin/iptables -A INPUT -i eth0 -s 220.231.182.0/29 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -s 220.231.181.243/32 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -s 220.231.181.244/32 -j ACCEPT

/sbin/iptables -A INPUT -p tcp -m multiport --sport 20,21,25,53,22,123,80,443 -j ACCEPT
/sbin/iptables -A INPUT -p udp -m multiport --sport 20,21,25,53,22,123,80,443 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 0.0.0.0/0 --sport 1024:65535 -j ACCEPT
/sbin/iptables -A INPUT -p udp -s 0.0.0.0/0 --sport 1024:65535 -j ACCEPT
#Accept ICMP
/sbin/iptables -A INPUT -p icmp --icmp-type any -j ACCEPT

#Drop
/sbin/iptables -A INPUT -i eth0 -j DROP


注:ethX需视节点服务器的网卡名称来决定,使用ifconfig可以查看到所以网卡的名称

15、SNMP Installation and configuration
1)所需要文件:net-snmp-5.1.2-11.EL4.7.i386.rpm net-snmp-libs-5.1.2-11.EL4.7.i386.rpm
2)安装方法:
# rpm –ivh net-snmp-libs-5.1.2-11.EL4.7.i386.rpm
# rpm –ivh net-snmp-5.1.2-11.EL4.7.i386.rpm
3)修改snmpd.conf文件
# vi /etc/snmp/snmpd.conf
将第41行号的public改cdnhub
在56行后面增加一行,内容为:view systemview included .1
将123行第一个字符#号去掉
保存并退出:wq
4)重新启动SNMPD 服务:service snmpd restart
5)在mrtg.cdnhub.com添加新的监控条目
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章