1.介质准备
注:由于Mysql5.5源码编译采用的CMAKE方式,所以事先下载cmake的安装包和MySQL5.5的安装包
下载地址如下:
http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.5/
http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
下载完成之后上传到指定的服务器上。
2.安装依赖包
需要安装的依赖包很多,所以建议采用yum源安装的方式安装,其实有很多包是选装的。(加粗字体的为必须要安装的)
yum -y install gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool*
3.创建mysql用户
[root@localhost ~]# groupadd mysql #添加mysql用户组
[root@localhost ~]# useradd mysql -g mysql -s /sbin/nologin #
添加mysql用户
4.创建安装目录并赋权
安装路径:/opt/mysql
数据库路径:/opt/mysql/data
源码包存放位置:/project
mkdir -p /opt/mysql/data
chown -R mysql.mysql /opt/mysql
5.安装cmake编译工具
tar zxvf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./configure
make
make install
注:在安装完成之后,最好将cmake添加到/etc/profilea中
PATH=/project/cmake-2.8.10.2/bin:$PATH
export PATH
6.解压源码包并进入目录
tar xzvf mysql-5.5.33-linux2.6-x86_64.tar.gz
cd mysql-5.5.33-linux2.6-x86_64
7.进行编译安装,配置编译参数
编译小技巧:最好在源码目录下创建一个project,在进入project中进行编译,这样源码和编译的可以分清楚。
[root@localhost ~]# cmake .. -DCMAKE_INSTALL_PREFIX=/opt/mysql \
-DMYSQL_UNIX_ADDR=/opt/mysql/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DMYSQL_DATADIR=/opt/mysql/data/ \-DMYSQL_TCP_PORT=3306
[root@localhost ~]# make && make install
以上七步做完,mysql已经安装好了,现在要介绍的是数据库初始化文件以及配置启动等。
8.设置环境变量,将mysql命令添加到PATH路径中,我演示的是添加到~/.bash_profile中,大家也可以添加到/etc/profile中
PATH=/opt/mysql/bin:$PATH:$HOME/bin
source ~/.bash_profile
9.将mysql的配置文件添加到/etc目录下
[root@localhost ~]# cp support-files/my-small.cnf /etc/my.cnf #mysql配置文件
[root@localhost ~]# chmod 755 scripts/mysql_install_db #赋予mysql_install_db执行权限
[root@localhost ~]# scripts/mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data/
若看见两个OK字样,则初始化成功
将mysql添加到系统服务中
[root@localhost ~]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost ~]# chmod 755 /etc/init.d/mysqld
10.启动mysql服务
service mysqld start
11.添加mysql账户密码
mysqladmin -u root password ‘yourpassword‘
mysql有两种帐号类型,即localhost和%,前者限本机连接mysql,后者可用于其它机器远程连接mysql
最后,处理帐号登录问题,让root帐号密码可以本地和远程连接使用
[root@localhost ~]# /usr/local/mysql/bin/mysql -u root -p #敲入该命令后,屏幕会提示输入密码,输入上一步设置的yourpassword
删除root密码为空的记录
mysql> use mysql;
mysql> delete from user where password=‘‘;
mysql> flush privileges;
配置mysql允许root远程登录 #登录
mysql> grant all privileges on *.* to root@‘%‘ identified by "root";
mysql> flush privileges;
结束;
原文地址:http://2255753.blog.51cto.com/2245753/1609472