之乎者也2011

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

版本: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,记 录下,以后再看。

posted on 2011-09-05 05:23  之乎者也2011  阅读(482)  评论(0编辑  收藏  举报