这个以前的,不算十分正确那种···参考一下吧
linux下源码安装mysql实在不适合我····今天实在浪费大量时间在源码安装上了,而且经常有一些想不到的错误出现。 所以二进制安装包上场了···二进制安装包在mysql官网上有,一百多M那种tar.gz包就是了。以下安装步骤网上找的,成功安装,记录一下。
顺便提一下源码安装遇到的两个错误的解决办法,
1.错误提示我忘记了,反正就是解压后不要在解压生成的目录直接安装,后果很麻烦··
2.到mysql_install_db这一步出现FATAL ERROR: Could not find mysqld错误解决办法
mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
cp support-files/my-medium.cnf /etc/cnf
之后还有一些其他想不到的错误,会出现麻烦一大堆··一个字:源码安装很浪费时间。
--------------------------------下面是二进制包安装,速度快!--------------------
因为我在debian下安装,不用考虑RPM啦。Linux(x86) Max是比较不错的选择。
su
#切到root
tar -zxvf mysql-max-5.0.19-linux-i686-glibc23.tar.gz
#二进制包释放出来后不用编译,网上很多安装5.0的步骤里面都有编译的,那个比较适合源码包。
groupadd mysql
#添加用户组
useradd -g mysql mysql
#添加用户
mv mysql-max-5.0.19-linux-i686-glibc23 /usr/local
#移动MYSQL目录到 /usr/local/ 下
ln -s mysql-max-5.0.19-linux-i686-glibc23 mysql
#建立硬连接,许多地方使用MYSQL是访问 /usr/local/mysql/ 这个地方。
cd mysql
#.....
./configure --prefix=/usr/local/mysql --with-charser=gbk --localstatedir=/var/db/mysql
#网上也有一些文章提到前面说的二进制包不需要编译的问题,但是却漏掉了这个步骤。造成执行下面的脚本会报错。
./scripts/mysql_install_db --user=mysql
#初始化数据库
chown -R root .
chown -R mysql data
chgrp -R mysql .
#修改用户与组权限
cd support-files
ln -s /usr/local/mysql/support-files/my-smal.cnf /etc/my.cnf
#建立my.cnf的硬连接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#让MYSQL能够开机启动,这里要注意Debian跟其他LINUX不同的是 /etc/init.d/ 和 /etc/rc.d/init.d/ 的区别。
/etc/init.d/mysqld start
#启动MYSQL
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
#为了在以后安装需要MYSQL的程序的时候不指定MYSQL的路径,如果你像我一样懒,这步还是别省略了吧。
另外这个新浪的教程也可以参考下,不过它是安装到红帽上的··
http://tech.sina.com.cn/s/2008-05-05/07372174929.shtml
-----------------
scripts/mysql_install_db --user=mysql
如果出现错误:
FATAL ERROR: Could not find mysqld
The following directories were searched:
/usr/libexec /usr/sbin /usr/bin是因为原来装有/etc/mysql/my.cnf引起的。将/etc/mysql/my.cnf删除chown -R root /usr/local/mysql; chown -R mysql /usr/local/mysql/var; chgrp -R mysql /usr/local/mysql cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf/usr/local/mysql/bin/mysqladmin -u root password '123456'直接启动:/usr/local/mysql/share/mysql/mysql.server start
/usr/local/mysql/share/mysql/mysql.server stop
或者:
把mysql/bin添加到$PATH变量中:
export PATH=/usr/local/mysql/bin/:$PATH
/etc/init.d/mysqld start
mysql -u root -p12346