Heim >Datenbank >MySQL-Tutorial >Mysql编译安装_MySQL

Mysql编译安装_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-01 13:37:581064Durchsuche

bitsCN.com

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产生了

 

bitsCN.com
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn