版本:mysql-5.0.56
很简单,遇到错误,去查日志就行了:MYSQLPATH/var/localhost.localdomain.err
useradd mysql tar zxvf mysql-5.0.56.tar.gz cd /home/changyou/mysql-5.0.56 ./configure --prefix=/Apps/mysql --without-debug #去除debug模式 --with-extra-charsets=gb2312 #添加gb2312中文字符支持 --enable-assembler #使用一些字符函数的汇编版本 --without-isam #去掉isam表类型支持 现在很少用了 isam表是一种依赖平台的表 --without-innodb #去掉innodb表支持 (默认也不会安装进去,如果需要就改成--with) --with-pthread #强制使用pthread库,posix线程库 --enable-thread-safe-client #以线程方式编译客户端 --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static #以纯静态方式编译服务端和客户端 make make install
安装好了,接下来就是配置了
scripts/mysql_install_db #(生成mysql用户数据库和表文件)
然后copy配置文件,有large,medium,small三个环境下的,根据机器性能选择,如果负荷比较大,可修改里面的一些变量的内存使用值
cp support-files/my-medium.cnf /etc/my.cnf cp support-files/mysql.server /etc/init.d/mysqld <span style="color: #339966;">(copy启动的mysqld文件)</span> chmod 700 /etc/init.d/mysqld cd /Apps/ chmod 750 mysql -R
改变mysql的权限很重要,因为启动时会以mysql用户启动,如果没有权限,会报错:
Starting MySQL.Manager of pid-file quit without updating fid[FAILED]
chgrp mysql mysql -R chown mysql mysql/var -R <span style="color: #339966;"> (如果没有var目录,可以自己建一个,记得权限)</span> cd /Apps/mysql/libexec cp mysqld mysqld.old strip mysqld chkconfig --add mysqld chkconfig --level 345 mysqld on service mysqld start netstat -atln #看看有没有3306的端口打开,或者 ps -ef|grep mysql
如果mysqld不能启动,看看/web/mysql/var下的出错日志,一般都是目录权限没有设置好的问题,然后呢,设置登陆密码和用户名,就可以了
ln -s /usr/local/mysql/bin/mysql /sbin/mysql ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin mysqladmin -uroot password "youpassword" mysql -uroot -p mysql > use mysql; mysql > delete from user where password="";<span style="color: #339966;"> (删除用于本机匿名连接的空密码帐号)</span> mysql > flush privileges; mysql > quit
如果,觉得mysql默认的databases目录不是你想要的,就修改:/etc/mysql.cnf
先停止服务,修改或添加 datadir=/data/mysql ,再启动mysql
问题A.
如果mysql服务启动不了,提示:Starting MySQL/etc/init.d/mysqld: line 159: kill: (21755) – No such process,则看看是否是启动脚本的问题。
编辑 mysqld,找到类似这样一行:
$bindir/mysqld_safe –datadir=$datadir –pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
改为(加上参数–user=root)
$bindir/mysqld_safe –user=root –datadir=$datadir –pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
然后再试:service mysqld start
问题B.
在useradd 的时候,奇怪的报错:useradd: unable to open password file,google了一下,发现是/etc/passwd文件root权限的问题,于是
chattr -ai /etc/passwd
接着useradd还是报错 – useradd: cannot open shadow password file,于是
chattr -ai /etc/shadow
接着还会报错,于是:
chattr -i /etc/group chattr -i /etc/gshadow
终于useradd成功。很少遇到linux用到shadow group文件的,我的系统是CentOS release 5.4。这篇文章比较详细介绍/etc/passwd,留下备用。
问题C.
在安装mysql时,为了加入innodb支持,安装时指定了参数:–with-plugins=all ,
结果安装完后结果启动不了,日志显示innodb的日志文件错误,我删除了数据库里面的,innodb测试数据文件,修改了my.cnf,折腾了半天死活
搞不定,最后google说是mysql的一个bug,实在是搞不懂,就放弃了,然后重装,去掉了innodb参数,通过再次编译安装了innodb,记
录下,以后再看。