linux编译装配mysql源码

linux编译安装mysql源码

1. 安装所需工具:cmake, GNU make, gcc, Perl, libncurses5-dev, bison(可选), chkconfig(可选)
注: 官方说明链接:http://lists.mysql.com/commits/126782 
官方5.5版本参考手册:http://dev.mysql.com/doc/ 

 

=>工具安装: 
cmake 
----没有自己编译安装cmake 
----shell:~$ sudo apt-get install cmake 
GNU make 
----Ubuntu自带 
GCC 
----Ubuntu自带 
Perl 
----Ubuntu自带 
libncurses5-dev (ncurses-devel) 
----若差了这个包,在cmake的时候会报错。 
----Debian/Ubuntu上的包名是libncurses5-dev,RedHat和其他版本对应的是ncurses-devel 
----shell:~$ sudo apt-get install libncurses5-dev 
bison 
----shell:~$ sudo apt-get install bison 
----可选。没有这个工具,在make的时候报出警告。 
chkconfig 
----后面配置mysql服务自启动的时候需要。 
----shell:~$ sudo apt-get install chkconfig 


=>mysql安装: 
解压源代码文件 
----shell定位到源代码文件所在目录 
----解压 
shell:~$ tar zxvf mysql-5.5.8.tar.gz 
cmake操作 
----shell定位到解压出的源代码文件夹目录(文件夹:mysql-5.5.8) 
----cmake执行: 
shell:~$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \
-DMYSQL_DATADIR=/usr/local/mysql /data \
-DSYSCONFDIR=/etc  \
-DWITH_INNOBASE_STORAGE_ENGINE=1  \
-DWITH_ARCHIVE_STORAGE_ENGINE=1  \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1  \
-DWITH_FEDERATED_STORAGE_ENGINE=1  \
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock  \
-DMYSQL_TCP_PORT=3306  \
-DENABLED_LOCAL_INFILE=1  \
-DEXTRA_CHARSETS=all  \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci  \
-DMYSQL_USER=mysql 
注:没有换行。


源代码配置选项说明: 
//mysql安装的主目录,5.5.8版本默认为/usr/local/mysql,所以可以不添加 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
//mysql数据保存的路径,自定义 
-DMYSQL_DATADIR=/usr/local/mysql /data
//mysql配置文件地址------The default my.cnf option file directory 
-DSYSCONFDIR=/etc 
//Unix socket file 
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock 
//数据库服务器TCP/IP连接的监听端口,默认为3306 
-DMYSQL_TCP_PORT=3306 
//Whether to enable LOCAL capability in the client library for LOAD DATA INFILE 
-DENABLED_LOCAL_INFILE=1 
//数据库编码设置 
-DEXTRA_CHARSETS=all 
-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8-general_ci 


=>编译和安装 
----shell定位到源代码文件夹目录 
----执行:(编译用了大概20分钟) 
shell:~$ sudo make 
shell:~$ sudo make install 

=>后续配置 
----进入mysql安装目录下的脚本目录 
shell:~$ cd /usr/local/mysql/scripts 
----利用mysql_install_db脚本生成新的MySQL 授权表 
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql /data --user=mysql 
----进入mysql安装目录下的支持文件目录 
shell:~$ cd /usr/local/mysql/support-files 
----复制mysql配置文件 
shell:~$ sudo cp my-medium.cnf /etc/my.cnf 

----复制服务文件并修改 
shell:~$ sudo cp mysql.server mysqld 
----修改mysqld 
basedir=/usr/local/mysql 
datadir=/home/mysql 
mv mysqld /etc/init.d/mysqld 
----启动服务 
shell:~$ service mysqld start 
----关闭服务 
shell:~$ service mysqld stop 
--------------------------------- 
service命令: 
----用于管理Linux系统中服务的命令 
----作用是去/etc/init.d目录下寻找相应的服务,进行开启和关闭等操作 
----上述操作后,mysqld服务文件对应mysql.server文件 

 

2. 安装wine软件时,没有完成此软件的安装,直接关闭shell之后,就出现 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

ww@ww:~$ sudo apt-get install wine

[sudo] password for ww: 

E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

解决办法:

方法一:

       终端输入 ps  -aux ,列出进程。找到含有apt‘-get的进程,直接sudo kill PID。OK
方法二:

        强制解锁,命令
        sudo rm /var/cache/apt/archives/lock
        sudo rm /var/lib/dpkg/lock

 

3. 问题如上,在安装wine,pidgin等等软件时,出项个package configuration 下面是configuring ttf-mscorefonts-installer 下面的ok点不住,关了之后软件就没有安装成功。

解决办法:

按"Tab"键点亮“ok",然后按Enter键

 

4. mysql启动失败 The server quit without updating PID file

解决办法:

cd /usr/local/mysql

chown -R root .

sudo bin/mysqld_safe –user=root

这下就成功重启了