my sql 5.22 linux 安装

正文:
MySQL版本: 5.0.22 (可到 MySQL.cn 中文站下载更加新的版本)

其实MySQL在Linux下,只是一个软件...没咩大不了,就好像响你部电脑里边装佐个CS服务器一样...距只系用来提供SQL服务.

其实整个安装过程并不复杂,~但网上好多网友们都说装好了这里不能用,那里不能用..都是因为细微的东西没有调好..而这篇手记,就记载了我整整一个国庆研究Linux下安装MySQL,为什么不成功的问题解决方法.

先说说众所周知的安装方法.

下载了mysql-5.0.22-2.1.i386.tar 和 mysql-devel-5.0.22-2.1.i386.rpm 安装包(记得devel最好开始就装上, 很多安装包依赖mysql.h的, 否则后面重装没商量).

然后就 tar -zxvf mysql-5.0.22-2.1.i386.tar (就是解压缩)

然后就进入已解压缩的目录 cd MySQL mysql-5.0.22-2.1.i386

然后就 ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql

以上命令意思备注:

#prefix=/usr/local/mysql mysql    安装的目标目录

#sysconfdir=/etc my.ini               配置文件的路径

#localstatedir=/var/lib/mysql       数据库存放的路径

等待若干分钟之后~就 make~

make这个东西...对于MySQL源码包来说简直就是....我这台测试服务器的CPU是 PIII 1G 的~等上了我半个小时.

然后就半个小时之后~~就 Make Install ...等大概几分钟.这样MySQL 就算安装完毕了.下边就开始做细微的东西.

安装完以后要初始化数据库:

/usr/local/mysql/bin/mysql_install_db

如果系统没有mysql这个用户的话,最好做以下这步:

useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql

然后我启动mysql(下边这个启动代码的写法很重要,记住要加上执行用户 --user=XXX)

/usr/local/mysql/bin/mysqld_safe --user=root& 或者 --user=mysql& 

ok,先看看mysql能否正常工作


一般情况下都是不能正常链接数据库,错误提示一般为:

ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

其实网上大家问的最多的都是整个问题,说什么链接不到mysqld.sock,其实大家不妨看看mysql的错误日志就明白怎么回事,我这里的错误日志是在

/var/lib/mysql/*.err 你会发现mysql只所以不能启动,是因为/var/lib/mysql的权限不允许mysql服务访问,英文mysql默认是调用mysql用户来启动服务的,好了,既然知道是什么原因找到不能启动,那就简单了。我们只要

chown -R mysql:mysql /var/lib/mysql 就行,如果还是启动不了,再慢慢调试权限,反正一般启动不了都是权限的问题。或者是少了什么目录...记得要看这个/var/lib/mysql/*.err 错误日志,他能告诉你错在哪.

如果大家还是不能启动不了的话,那就用我的比较繁琐的权限的设置,反正我每次都是这么做的,一般不会有问题,见下:

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

做完上面的步骤,再次运行 /usr/local/mysql/bin/mysqld_safe --user=root&

没有出现 End 这东西...就证明 MySQL成功运行了..

再用端口命令证实一次 netstat-ant   ~~看到有 3306 端口,即已成功!

然后把你编译目录的一个脚本COPY过去

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

用ntsysv设置使mysql每次启动都能自动运行。

但!,往往很多网友都发现,当他们重新启动服务器MySQL不能自动启动.

运行 etc/rc.d/init.d/mysqld start 的时候..就出现 [ 失败 ]

而运行/usr/local/mysql/bin/mysqld_safe --user=root&  就成功的.

为什么?? 这个就是郁闷了我这么久的原因!!..原来..Linux As4这个版本对权限要求很严格!!..我们刚刚开始新建的帐户mysql..没有运行程序的权限.而 etc/rc.d/init.d/mysqld start 这个教本的执行默认用户,就偏偏是 mysql

所以就导致了怎样也启动不了.同样道理.~如果运行的是

运行/usr/local/mysql/bin/mysqld_safe --user=mysql & 而不是 --user=root& 的话,一样执行不了.

所以!...只要把 mysql 这个用户,在mysql组里边的同时,再添加到root组.~就是说,拥有root那样,能够执行程序的权限.

再次执行etc/rc.d/init.d/mysqld start  试试~~嘿嘿!成功啦!..

再试试重新启动~~一开完机,就输入 netstat -ant 看看!..嘿嘿!~..3306 显在了!

/usr/local/mysql/bin/mysqladmin -u root -p password 'mysql的root密码'

再通过以上命令修改MySQL的密码~

好了,至此mysql安装完毕.

注意很多时候我们源码安装一些依赖Mysql的程序包时, 提示Cannot find MySQL header files, 这是因为没有装开发版的原因,或者没有正确指定路径,

  • 一般先找找看

find / -name mysql.h

  • 找不到就要安装了: 下载mysql-devel-5.0.22-2.1.i386.rpm 安装包(记得devel最好开始就装上, 很多安装包依赖mysql.h的, 否则后面重装没商量).

rpm -ivh mysql-devel-5.0.22-2.1.i386.rpm

原文地址:https://www.cnblogs.com/yinpengxiang/p/1416124.html