RHEL as4 虚拟机
InstallMysql.sh
cd /usr/local/soft/mysql-3.23.58
#prefix=/usr/local/mysql mysql安装的目标目录
#localstatedir=/var/lib/mysql 数据库存放的路径
#sysconfdir=/etc my.ini配置文件的路径
./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql && make && make install
#安装完以后要初始化数据库,当然你是升级的话不用做这步
/usr/local/mysql/bin/mysql_install_db
#添加mysql用户,不明白这里参数M O R 是什么意思,以前看到的是-R mysql:mysql
useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql
#设置详细的权限,不明白,但是非常有用,出了问题用这个都解决了.
#一般情况下都是不能正常链接数据库,错误提示一般为:
#ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
#其实网上上海seo大家问的最多的都是整个问题,说什么链接不到mysqld.sock,其实大家不妨看看mysql的错误日志就明白怎么回事,我这里#
的错误日志是在/var/lib/mysql/*.err 你会发现mysql只所以不能启动,是因为/var/lib/mysql的权限不允许mysql服务访问,英文mysql默认#
是调用mysql用户来启动服务的,好了,既然知道是什么原因找到不能启动,那就简单了。我们只要chown -R mysql:mysql /var/lib/mysql #
就行,如果还是启动不了,再慢慢调试权限,反正一般启动不了都是权限的问题。
#如果大家还是不能启动不了的话,那就用我的比较繁琐的权限的设置
chown -R root /usr/local/mysql
chgrp -R mysql /usr/local/mysql
chown -R root /usr/local/mysql/bin
chgrp -R mysql /usr/local/mysql/bin
chgrp -R mysql /var/lib/mysql
chmod 777 /var/lib/mysql
chown -R root /var/lib/mysql/mysql
chgrp -R mysql /var/lib/mysql/mysql
chmod 777 /var/lib/mysql/mysql
chown -R root /var/lib/mysql/mysql/*
chgrp -R mysql /var/lib/mysql/mysql/*
chmod 777 /var/lib/mysql/mysql/*
chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a
#启动mysql
/usr/local/mysql/bin/safe_mysqld &
#测试mysql工作是否KO
mysql -uroot mysql
# 复制mysqld,并可执行,添加到服务,自动启动(也可以用ntsysv添加)
cp /usr/local/soft/mysql-3.23.58/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 700 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 3 mysqld on
#比较关键,不是很理解...大家可以不做这步,大可以在编译其他软件的时候自定义myslq的库文件路径,但我还是喜欢把库文件链接到默认的位置,这样你在编译类似PHP,Vpopmail等软件时可以不用指定mysql的库文件地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql