h1. MySQL5.1.53编译,安装配置
Debian4下安装MySql5.1.53
h2. 编译
<pre>
./configure '--prefix=/usr/local/mysql5.1.53' '--with-mysqld-user=mysql' '--with-extra-charsets=all' '--with-unix-socket-path=/usr/local/mysql5.1.53/var/mysql.sock' '--with-named-curses-libs=/lib/libncurses.so.5' '--enable-assembler'
</pre>
h2. 安装
<pre>
make && make install
</pre>
h2. 初始化数据库
刚刚编译安装完成的mysql中没有任何数据库,包括默认的mysql数据库,这个需要初始化安装。
命令如下
<pre>
/usr/local/mysql5.1.53/bin/mysql_install_db
</pre>
h2. 配置
h3. 创建配置文件
我们把/usr/local/mysql5.1.53/share/mysql这个目录下的my-medium.cnf,复制为my.cnf到mysql安装目录
做如下修改
在[mysqld] 配置块中加入
skip-name-resolve #取消DNS反向解析,提高远程访问速度
_详细内容,参考57上的my.cnf吧_
h3. 启动&停止
* 启动
<pre>
/usr/local/mysql5.1.53/bin/mysqld_safe --user=root &
</pre>
* 停止
<pre>
/usr/local/mysql5.1.53/share/mysql/mysql.server stop
</pre>
h3. 进入mysql命令行
<pre>
/usr/local/mysql5.1.53/bin/mysql -uroot
</pre>
h3. 开启远程访问
# 配置cnf文件
找到你的my.cnf文件(如果用debian提供的mysql,在/etc/mysql/my.cnf)
查找 bind-address,等号后边写server的IP地址
# 在mysql命令行执行下列命令
<pre>
GRANT ALL PRIVILEGES ON *.* TO 'depman'@'%' IDENTIFIED BY 'depman' WITH GRANT OPTION;
</pre>
说明 : 添加depman用户,密码为depman,可以在任何远程机器访问数据库且拥有全部权限
h3. 添加InnoDB支持
# 进入mysql命令行
# mysql> show plugin;
查看是否有InnoDB的支持,没有的话
# mysql> install plugin innodb soname "ha_innodb.so";
# 再次执行mysql> show plugin;发现有InnoDB,安装成功
h3. 数据移植
* 备份57上的kebin数据库(sql文件)
<pre>
/usr/local/mysql5.1.53/bin/mysqldump --skip-lock-tables -h192.168.12.57 -uroot -proot kebin > kebin.sql
</pre>
* 导入刚才生成的sql文件到kebin数据库
<pre>
/usr/local/mysql5.1.53/bin/mysql kebin < kebin.sql
</pre>
* 从ServerA到ServerB迁移数据
<pre>
/usr/local/mysql5.1.53/bin/mysqldump --skip-lock-tables -uroot -proot kebin | /usr/local/mysql5.1.53/bin/mysql -h192.168.12.58 -udepman -pdepman kebin
</pre>
Linux install
①安装VBox
\\192.168.12.200\install\VBox\VirtualBox-4.0.6-71416-Win.exe
②通过VBox安装Linux虚拟机
Linux系统映像保存于下面的路径下
\\192.168.12.200\debian4_iso
③通过VBox进入Linux操作系统
通过下面的命令查看当前IP状态,并修改为静态IP
vim /etc/network/interfaces
若修改,键入字母「i」即进入可编辑状态,修正后Esc退出编辑状态,键入「:wq」保存并退出
静态IP例:
allow-hotplug eth1
#iface eth1 inet dhcp
iface eth1 inet static
address 192.168.12.189
netmask 255.255.255.0
gateway 192.168.12.1
重启网卡:
/etc/init.d/networking stop
/etc/init.d/networking start
④输入ifconfig查看修正后的ip状态
查看该虚拟机是否能够ping通自己的机器
⑤配置Linux虚拟光驱路径
通过命令:「vim /etc/init.d/donkey_service」新建文件donkey_service
编辑文件:
# mount window share folder to /mnt/debian4_iso
mount -t cifs //192.168.12.200/debian4_iso -o username="remote",password="abcd@1234" /mnt/debian4_iso
mount -t cifs //192.168.12.200/install -o username="remote",password="abcd@1234" /mnt/nas_share
# mount debian4 iso
mount -t iso9660 -o loop /mnt/debian4_iso/debian-4.0.0-i386-DVD-1.iso /mnt/debian4/dvd01
mount -t iso9660 -o loop /mnt/debian4_iso/debian-4.0.0-i386-DVD-2.iso /mnt/debian4/dvd02
mount -t iso9660 -o loop /mnt/debian4_iso/debian-4.0.0-i386-DVD-3.iso /mnt/debian4/dvd03
mount -t iso9660 -o loop /mnt/debian4_iso/debian-4.0.0-i386-DVD-4.iso /mnt/debian4/dvd04
执行文件:sh donkey_service
注:新建虚拟机的网卡没有访问200的权限,可以把debian4拷贝到本机一文件夹下,共享该文件夹
⑥安装ssh-server
安装后就可以使用putty链接,操作。
aptitude install ssh-server
⑦安装Linux必要软件
aptitude install make -- 编译用
⑧apache,php,mysql安装前准备
Linux下用软件安装包保存位置:
\\192.168.12.200\software\install\linux\httpd-2.2.9.tar.gz
\\192.168.12.200\software\install\linux\mysql-5.1.53.tar.gz
\\192.168.12.200\software\install\linux\php-5.2.5.tar.gz
可通过FileZilla软件,把上面的软件包copy到Linux虚拟机上
\\192.168.12.200\software\progrem\FileZilla-3.0.9.
创建软件包的保存位置和安装路径文件夹
例: mkdir /opt/soft -- 上面各个软件包copy到此
mkdir /opt/build -- 安装软件时的安装路径
①解压Apache
进入到该安装包的保存路径后,通过下面的命令进行解压(解压位置: ../bulid/)
tar zxvf httpd-2.2.9.tar.gz -C ../bulid/
②编译
./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-mods-shared --enable-ssl
make
③安装
make install
④查看是否安装成功
/usr/local/apache2/bin/httpd -k start --启动Apache
lsof -i:80 --查看80端口状态,如果80端口有值,安装成功
注:编译或安装过程中可能会因缺少某些文件而导致error
则根据error提示的信息,先安装缺少的文件再重新编译安装
error例;
configure: error: ...No recognized SSL/TLS toolkit detected
通过命令 「aptitude search 查找内容」查找相应的文件
通过命令 「aptitude install 安装文件名」进行安装
mysql install
①解压MySql安装包
进入到该安装包的保存路径后,通过下面的命令进行解压(解压位置: ../bulid/)
tar zxvf mysql-5.1.53.tar.gz -C ../bulid/
②编译
进入到解压后的文件夹下
安装mysql前需要安装一些linux系统软件
aptitude install lib64ncurses5-dev OR libncurses5-dev
aptitude install g++
aptitude install automake
aptitude install autoconf2.13
autoreconf --force --install
aclocal; autoheader
libtoolize --automake --force
automake --force --add-missing; autoconf
编译MySql,安装到/usr/local/mysql-5.1.53
./configure '--prefix=/usr/local/mysql-5.1.53' '--with-mysqld-user=mysql' '--with-extra-charsets=all' '--with-named-curses-libs=/lib/libncurses.so.5' '--enable-assembler' '--with-charset=utf8'
make
③安装
make install
④添加权限
groupadd mysql
useradd mysql -g mysql
./scripts/mysql_install_db --user=mysql
注:
mysql_install_db出现FATAL ERROR: Could not find mysqld错误时,
因为/etc/mysql/下出现了个my.cnf
解决方法:
mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
cp support-files/my-medium.cnf /etc/cnf
cd /usr/local/mysql-5.1.53/
chown -R root .
chown -R mysql var
chown -R mysql var/.
chown -R mysql var/mysql/.
chgrp -R mysql .
⑤运行并查看是否安装成功
/usr/local/mysql-5.1.39/bin/mysqld_safe --user=mysql &
lsof -i:3306 --查看3306端口是否是mysql在运行。
./bin/mysql -root
exit --退出mysql
⑥修改mysql密码
/usr/local/mysql-5.1.53/bin/mysqladmin -uroot password root
./bin/mysql -uroot -p --再次登录
root --密码
⑦添加别人能够访问的权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
use mysql;
mysql> select User,host from user;
+------+-----------+
| User | host |
+------+-----------+
| root | % |
| root | 127.0.0.1 |
| | camp |
| root | camp |
| | localhost |
| root | localhost |
+------+-----------+
6 rows in set (0.00 sec)
注:编译或安装过程中可能会因缺少某些文件而导致error
则根据error提示的信息,先安装缺少的文件再重新编译安装
error例;
checking for termcap functions library... configure: error: No curses/termcap library found
安装install lib64ncurses5-dev后则此错误就可避免
通过命令 「aptitude search 查找内容」查找相应的文件
Php install
①解压PHP
进入到该安装包的保存路径后,通过下面的命令进行解压(解压位置: ../bulid/)
tar zxvf php-5.2.5 -C ../bulid/
②安装前,安装一下必要的软件
apt-get install libmm-dev
aptitude install libxml2-dev
②编译
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql-5.1.53
make
make test
③安装
make install
④如果报错libphp5.so找不到的话,执行下面的命令
find -name "libphp5.so" --查找
找到后进到该目录下,把此文件copy到/usr/local/apache2/modules/下
cp -p libphp5.so /usr/local/apache2/modules/
⑤查看是否安装成功
如果安装成功 执行php -v 会显示php的版本信息
注:编译或安装过程中可能会因缺少某些文件而导致error
则根据error提示的信息,先安装缺少的文件再重新编译安装
通过命令 「aptitude search 查找内容」查找相应的文件
通过命令 「aptitude install 安装文件名」进行安装
Configure ssl
①制作证书
1) 首先确认OpenSSL已经被正确安装,并且openssl可执行文件位于PATH环
境变量所包含的目录中。
2) 创建一个RSA私钥文件(这里的例子使用3DES加密并封装为PEM格式):
$ openssl genrsa -des3 -out server.key 1024
请务必将你输入的密语和server.key文件备份到一个安全的地方。你可以使用下面
的命令查看这个RSA私钥的详细信息:
$ openssl rsa -noout -text -in server.key
如果确有必要,你也可以为这个RSA私钥创建一个已解密的PEM版本(不推荐):
$ openssl rsa -in server.key -out server.key.unsecure
3) 使用你刚才创建的RSA私钥创建一个自签名的X509证书(PEM格式):
$ openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt
这将对服务器的CSR进行签名,并将生成一个server.crt文件。
可以使用下面的命令查看这个证书的详细信息:
$ openssl x509 -noout -text -in server.crt
② 打开apache的ssl支持
打开/usr/local/apache2.2.18/conf/httpd.conf下面两句的注释
#Include conf/extra/httpd-ssl.conf
打开/usr/local/apache2.2.18/conf/extra/httpd-ssl.conf找到
SSLMutex "file:/usr/local/apache2.2.18/logs/ssl_mutex"改成
SSLMutex default