1)下载需要的源码到/home/uploader/upload
即mysql- 5.0.22 .tar.gz,推荐的网址为http://dev.mysql.com/downloads/。找到最后面的Source downloads,从中选择需要版本。
2)解压源码
cd /home/uploader/upload
tar zxvf mysql- 5.0.22 .tar.gz
3)将cnf替换成conf(包括文件和文件夹)
/etc/my.cnf对于mysql数据库而言,这是一个默认的文件。当安装mysql数据库时,mysql数据库会先去找那个默认文件,并且加载那个默认文件,即/etc/my.cnf中的相关配置。所以,安装两个以上的版本时,需要首先进行如下操作:
cd /home/uploader/upload/mysql- 5.0.22
find ./ -type f | xargs perl -pi -w -e 's/cnf/conf/g;'
目的在于将源码文件夹中的cnf替换成为conf.这样,安装好mysql数据库后,mysql数据库会先去找/etc/my.conf。也就不会加载上一个版本的/etc/my.cnf中的配置。
在将源码文件夹中的cnf替换成为conf之后,需要更改源码文件中的相关文件夹的名字,相关的文件在support-files目录,然后执行一下命令:
cd /home/uploader/upload/mysql- 5.0.22 /support-files
mv my-small.cnf.sh my-small.conf.sh
mv my-medium.cnf.sh my-medium.conf.sh
mv my-large.cnf.sh my-large.conf.sh
mv my-innodb-heavy -4G .cnf.sh my-innodb-heavy -4G .conf.sh
mv my-huge.cnf.sh my-huge.conf.sh
find ./ -name *.cnf | more(可以不做)
mv ./mysql-test/std_data/ndb_config_mycnf1.cnf ./mysql-test/std_data/ndb_config_mycnf1.conf
mv ./mysql-test/std_data/ndb_config_mycnf2.cnf ./mysql-test/std_data/ndb_config_mycnf2.conf
4)配置,安装
cd /home/uploader/upload/mysql- 5.0.22
groupadd mysql5
useradd -g mysql5 mysql5
./configure --prefix=/usr/app/mysql5
--enable-local-infile
--with-tcp-port=3406
--with-mysqld-user=mysql5
--with-base_dir=/usr/app/mysql5
--with-log=/usr/app/mysql5/mysqld.log
--with-pid_file=/var/lib/mysql5/andy.tks-it.com.cn.pid
--with-unix-socket-path=/tmp/mysql5.sock
--localstatedir=/var/lib/mysql5
--with-charset=utf8
注释:选项--enable-local-infile将LOAD DATA语句的LOCALE能力设置为启用。
make
make install
cp support-files/my-large.conf /etc/my.conf
7)安装默认数据库
cd /usr/app/mysql5
bin/mysql_install_db --user=mysql5
8) 改变相应权限
cd /usr/app/mysql5
chown -R root .(改变当前目录文件的宿主,使root用户访问权限现在应用到mysql5)
chown -R mysql5 /var(改变文件的宿主,使mysql5用户访问权限现在应用到/var)
chgrp -R mysql5 .(改变当前目录文件的所属群组,当前目录的属组为mysql5)
bin/mysqld_safe --user=mysql5 &
9) 修改密码
mysql数据库安装好之后,root的密码为空,为了安全起见,需要修改root的密码。
mysqladmin -u root password newpassword
10) 启动和停止mysql数据库
cd /usr/app/mysql5
bin/mysqld_safe --user=mysql5 &(启动mysql)
./share/mysql/mysql.server stop(停止mysql)
mysql自动备份脚本
cd /usr/sbin
vi bakmysql
添加如下语句:
bakDate=` date +%Y%m%d `
/usr/app/mysql5/bin/mysqldump
mysqldb -u root -ppassword > /home/uploader/backup/mysql_db/mysqldb$bakDate.sql
切换到命令模式,即按键盘上esc,然后输入:wq
vi /etc/crontab
添加:
17 02 * * * /usr/sbin/bakmysql
即每天02点17执行数据库备份脚本,备份数据库到/home/uploader/backup/mysql_db。
切换到命令模式,即按键盘上esc,然后输入:wq
重新启动crond,执行:
/etc/rc.d/init.d/rcond restart