您的位置:首页 > 运维架构 > Linux

linux下安装Mysql

2012-11-03 16:24 387 查看
遇到错误,去查日志就行了: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,记录下,以后再看。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: