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.安装依赖包
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;
结束;
--------------------------------------分割线 --------------------------------------
--------------------------------------分割线 --------------------------------------