爱易网页
MySQL教程
Mysql 编译装配
日期:2014-05-16 浏览次数:20796 次
Mysql 编译安装
编译安装
编译安装之前的准备工作:
添加mysql帐号
# useradd mysql
目的:避免数据库初始化出现问题
安装:
[root@www bin]# tar xvzf mysql-5.1.34.tar.gz -C /usr/local/src/
[root@www lamp]# cd /usr/local/src/
[root@www src]# cd mysql-5.1.34/
[root@www mysql-5.1.34]# ./configure --with-mysqld-user=mysql --prefix=/usr/local/mysql --with-extra-charsets=all --exec-prefix=/usr/local/mysql --with-innodb
// 运行mysql的时候用哪个身份执行 安装目录 默认支持所有字符集 安装目录会产生一个bin 表类型
[root@www mysql-5.1.34]#make && make install
初始化数据库:
[root@www mysql-5.1.34]# cd /usr/local/mysql/
[root@www mysql]# ls
bin docs include lib libexec mysql-test share sql-bench // 目录里应该有一个默认的存放mysql数据的var目录,进行数据库的初始化才能产生
[root@www mysql]# cd bin
[root@www bin]# ./mysql_install_db 进行数据库的初始化
修改权限:
[root@www mysql]# chown .mysql -R . // 递归修改当前目录(mysql安装目录)所有文件的所属组为mysql组
[root@www mysql]# ll -d . // 查看当前目录的详细信息 -d 将目录象其它文件一样列出,而不是列出它们的 内容
drwxr-xr-x 11 root mysql 4096 12-25 11:58 .
[root@www mysql]# chown mysql var -R // 递归修改var目录的所有者为mysql帐户
启动:
[root@www mysql]# cd bin/
[root@www bin]# ./mysqld_safe --user=mysql & // 后台启动mysql
[root@www bin]# ps -e
22127 pts/1 00:00:00 mysqld_safe
22178 pts/1 00:00:00 mysqld
看到这两个进程就说明mysql已经启动成功了
启动之后也会产生一个套接字文件
[root@www bin]# cd /tmp/
[root@www tmp]# ls mysql.sock
mysql.sock
在/tmp下,如果有了这个文件,也说明mysql已经启动了,没有这个文件,mysql是不会启动的
----------------
修改环境变量:
修改家目录的环境变量,可以在任意目录下执行mysql bin目录下的命令
[root@www ~]# vim .bash_profile
PATH=/usr/local/mysql/bin:$PATH:$HOME/bin
使之生效:
[root@www ~]# source .bash_profile
测试:
[root@www ~]# which mysqladmin
/usr/local/mysql/bin/mysqladmin
[root@www ~]# pkill mysql // 杀死有mysql的进程
另一种启动mysql的方法:把mysql自己的启动脚本拷贝到init.d里面
[root@www mysql]# pwd
/usr/local/mysql/share/mysql
[root@www mysql]# cp mysql.server /etc/rc.d/init.d/ // 可以改名的比如说改成mysqld
[root@www mysql]# service mysql.server restart
--------------------
问题排查:
如果数据库初始化没成功,可能是下面的原因:
[root@www mysql]# grep mysql /etc/passwd 首先要有mysql这个用户
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
[root@www mysql]# /etc/init.d/mysqld stop 原来装了一个mysql 的rpm包,而且启动了,先停掉
停止 MySQL: [确定]
[root@www mysql]# rpm -q mysql 把原来装的rpm包卸载掉
mysql-5.0.45-7.el5
[root@www mysql]# rpm -e mysql --nodeps
[root@www bin]# ./mysql_install_db
[root@www bin]# cd ..
[root@www mysql]# ls
bin docs include lib libexec mysql-test share sql-bench var
这时候就看到有一个var产生了
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。