CentOS如何编译安装MySQL

本篇内容介绍了“CentOS如何编译安装MySQL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!


 
之前虚拟机里装的系统都是ubuntu,后来同事说一般的服务器都是安装的centos,所以又重新倒腾了centos系统。  www.2cto.com  
  当然,首先得搭建PHP环境。的MysqL,版本是5.5.25,最新的好像是5.5.4。这里记住,一定要下载源码,在MysqL官网下载时,会提示你选择平台,选择下拉菜单中的最底下一个Source Code。
  按照之前ubuntu安装的步骤安装后,启动MysqL启动不起来。错误代码为“ The server quit without updating PID file(/var/lib/MysqL/CentOS.pid)”,百度和google都搜索了一些资料,基本一致,对我没帮助,按照他们说的修改了也不行。于是乎结合张晏的博客,最终成功搞定。
 
第一步:我们首先安装依赖库和开发工具
 
#依赖库和开发工具
 
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
  www.2cto.com  
#Nginx
yum -y install pcre-devel  zlib-devel
 
#PHP
yum -y install gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel freetype-devel
 
#MysqL
yum -y install bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* MysqL-devel
 
  第二步:由于MysqL5.5开始,不再使用configure安装,而是使用cmake。所以需要先安装cmake
wget http://www.cmake.org/files/v2.8/cmake-2.8.6.tar.gz
tar -zxvf cmake-2.8.6.tar.gz
cd cmake-2.8.6/
./configure
make && make install
 
  第三步:cmake安装MysqL(我已经下载好了MysqL源码文件,放在U盘里,拷贝到/tmp目录下)
 
//进入/tmp目录下
tar -zxvf MysqL-5.5.25.tar.gz
cd MysqL-5.5.25
  www.2cto.com  
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/webserver/MysqL \
-DMysqL_DATADIR=/user/local/webserver/MysqL/data \
-DSYSconfdIR=/etc \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-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 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMysqL_UNIX_ADDR=/tmp/MysqLd.sock \
-DMysqL_TCP_PORT=3306 \
-DWITH_DEBUG=0 \
-DENABLED_LOCAL_INFILE=1
 
回车执行,执行完成后继续执行 make && make install
  第四步:设置MysqL
 
#设置MysqL
#在support-files目录中有五个配置信息文件(这里很重要,一定要根据自己的内存复制对应的cnf文件,否则MysqL始终起不来):  www.2cto.com  
#my-small.cnf (内存<=64M)
#my-medium.cnf (内存 128M)
#my-large.cnf (内存 512M)
#my-huge.cnf (内存 1G-2G)
#my-innodb-heavy-4G.cnf (内存 4GB)
cd /usr/local/webserver/MysqL
cp ./support-files/my-huge.cnf /etc/my.cnf 
vi /etc/my.cnf
#在 [MysqLd] 段增加
datadir = /data/MysqL
wait-timeout = 30
max_connections = 512
default-storage-engine = MyISAM
#在 [MysqLd] 段修改
max_allowed_packet = 16M 
 
第五步:添加MysqL用户用户组,生成新的MysqL授权表
 
//添加MysqL运行的用户用户
groupadd MysqL
useradd -g MysqL MysqL -s /bin/false -d /home/MysqL  //没有shell,不可本机登陆(安全起见)  www.2cto.com  
 
cd /usr/local/webserver/MysqL
chown -R root .
chown -R MysqL data
chgrp -R MysqL .
 
//生成新的MysqL授权表
//进入MysqL安装目录下的脚本目录
cd /usr/local/webserver/MysqL/scripts
//利用MysqL_install_db脚本生成新的MysqL授权表
./MysqL_install_db --basedir=/usr/local/webserver/MysqL --datadir=/usr/local/webserver/MysqL/data --user=MysqL
 
//MysqL server在系统中的服务项设置
//复制服务文件修改
cd /usr/local/webserver/MysqL/support-files
cp MysqL.server MysqLd
//修改MysqLd
basedir=/usr/local/webserver/MysqL
datadir=/usr/local/webserver/MysqL/data
  www.2cto.com  
mv MysqLd /etc/init.d/MysqLd
chmod 755 /etc/init.d/MysqLd
 
//设置软连接使MysqL,  MysqLdump,  MysqLadmin这三个bin命令能在shell中直接运行
sudo ln -s /usr/local/webserver/MysqL/bin/MysqL /usr/bin
sudo ln -s /usr/local/webserver/MysqL/bin/MysqLdump /usr/bin
sudo ln -s /usr/local/webserver/MysqL/bin/MysqLadmin /usr/bin
 
rm -rf /etc/MysqL/my.cnf 因为已经把此文件复制到/etc/my.cnf  如果不删除的话,MysqL启动不起来。
 
第六步:启动MysqL,设置MysqL用户名和密码
 
/etc/init.d/MysqLd start
 
//设置root密码
MysqLadmin -u root password "admin"
  www.2cto.com  
//MysqL中文乱码解决
vi /etc/my.cnf
//然后在[d]配置选项下添加
character-set-server=utf8
 
//然后进入MysqL
cd /usr/local/webserver/MysqL/bin
MysqL -u root -p
提示输入密码
MysqL> show variables like '%character%';
//结果:character_set_database,character_set_server两项都变为utf8了

“CentOS如何编译安装MysqL”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程之家网站,小编将为大家输出更多高质量的实用文章

相关文章

这篇文章主要介绍“hive和mysql的区别是什么”,在日常操作中...
这篇“MySQL数据库如何改名”文章的知识点大部分人都不太理解...
这篇文章主要介绍“mysql版本查询命令是什么”的相关知识,小...
本篇内容介绍了“mysql怎么修改字段的内容”的有关知识,在实...
这篇文章主要讲解了“mysql怎么删除unique约束”,文中的讲解...
今天小编给大家分享一下mysql怎么查询不为空的字段的相关知识...