1、下载mysql的源码安装包和依赖包cmake源码包

mysql 源码编译安装 mysql编译器安装_mysql 源码编译安装

 

2、将两个安装包上到到/usr/local目录下,如下图

mysql 源码编译安装 mysql编译器安装_数据库_02

 

3、编译安装cmake

      首先解压cmake安装包,# tar -zxvf cmake-2.8.10.2.tar.gz

      然后进入cmake的目录,并执行安装

      # cd cmake-2.8.10.2

      # ./configure

      在configure阶段可能会报错1:缺少C编译器,要安装gcc,# yum -y install gcc,在configure阶段可能会报错2:缺少C++编译器,要安装gcc-c++,# yum -y install gcc-c++,最难搞的报错是如下:

mysql 源码编译安装 mysql编译器安装_mysql数据库_03

下载

mysql 源码编译安装 mysql编译器安装_数据库_04

,然后# rpm -ivh ncurses-devel-5.7-4.20090207.el6.x86_64.rpm,再次运行没有报错了,接着make和make install

 

4、安装mysql

     a、解压mysql源码包,# tar -zxvf mysql-5.5.29.tar.gz

     b、创建数据库的安装目录,# mkdir /usr/local/mysql

     c、创建存储数据库目录,# mkdir /usr/local/mysql/data

     d、检查mysql用户组和用户是否存在,如果没有,则创建,# cat /etc/group|grep mysql,回车什么都没有,证明没有组,先创建组,# groupadd mysql,# cat /etc/passwd|grep mysql,回车什么都没有,证明没有用户,再创建用户,#               useradd -r -g mysql mysql

     e、编译mysql

          # cd mysql-5.5.29

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1

         -DCMAKE_INSTALL_PREFIX=/usr/local/mysql   # mysql的安装目录

         -DINSTALL_DATADIR=/usr/local/mysql/data    # 设置数据库的存放目录

         -DDEFAULT_CHARSET=utf8                               # 设置编码utf8

         -DDEFAULT_COLLATION=utf8_general_ci         # 校验字符

         -DEXTRA_CHARSETS=all                                    # 安装所有扩展字符集

         -DENABLED_LOCAL_INFILE=1                           # 允许从本地导入数据

         会出现一个警告,暂时不用管,如下图

         

mysql 源码编译安装 mysql编译器安装_数据库_05

 

         # make

         # make install

 

5、配置mysql

     a、设置目录权限

           # cd /usr/local/mysql

           # chown -R root:mysql .          # 把当前目录中所有文件的所有者设为root,所有组为mysql

           # chown -R mysql:mysql data

           # cp support-files/my-medium.cnf /etc/my.cnf      # 将mysql的启动服务添加到系统服务中(注意,如果etc下已有my.cnf,需要先将其删除) 

           警告:如果没有以上的权限设置,那么在接下来的启动mysql时,会报错(mysql启动后,会自动关闭)

           # 进入mysql/bin目录,启动mysql,如下图

           

mysql 源码编译安装 mysql编译器安装_mysql_06

 

     b、创建系统数据库表

           # cd /usr/local/mysql

           # scripts/mysql_install_db --user=mysql

           

mysql 源码编译安装 mysql编译器安装_mysql数据库_07

 

     c、查看mysql是否启动

           # ps -ef|grep mysql,如下图,可见启动成功

           

mysql 源码编译安装 mysql编译器安装_数据库_08

 

d、将mysql的启动服务添加到系统服务中

            # cp support-files/mysql.server /etc/init.d/mysql

            # service mysql stop    # 关闭mysql

               

mysql 源码编译安装 mysql编译器安装_mysql数据库_09

 

# service mysql start   # 启动mysql

                

mysql 源码编译安装 mysql编译器安装_数据库_10

 

       e、将mysql加入到环境变量中,使得在shell环境下敲入mysql即可进入mysql

             # vi /etc/profile    # 编辑profile文件,并添加下面两行

export MYSQL_HOME=/usr/local/mysql

                 export PATH=$MYSQL_HOME/bin:$PATH

                保存退出,# source /etc/profile       # 刷新配置文件,使环境变量生效,并敲入mysql验证

                

mysql 源码编译安装 mysql编译器安装_mysql_11

 

可能出现问题

             

mysql 源码编译安装 mysql编译器安装_数据库_12

分析原因:查看tmp目录,发现在该目录下没有指定的mysql.sock文件

解决办法:手动添加一个mysql.sock 文件,并重新启动mysql

 

       f、修改MySQL的root用户密码,以及打开远程连接

             # mysql -u root mysql    # 进入mysql,如下图

                

mysql 源码编译安装 mysql编译器安装_mysql_13

 

mysql>show databases;   # 展示所有数据库

             

mysql 源码编译安装 mysql编译器安装_数据库_14

 

mysql>use mysql;      # 进入mysql数据库

             mysql>show tables;   # 展示所有表

             

mysql 源码编译安装 mysql编译器安装_数据库_15

 

mysql>desc user;   # 查看表结构

             

mysql 源码编译安装 mysql编译器安装_mysql_16

 

mysql> update user set Password = password('123456') where User='root';    # 修改root用户的密码为123456

            

mysql 源码编译安装 mysql编译器安装_mysql_17

 

mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";   # 为root添加远程连接权限 ,以及远程登录密码

            mysql>select Host,User,Password from user where User='root';

            

mysql 源码编译安装 mysql编译器安装_数据库_18

 

mysql>flush privileges;

            

mysql 源码编译安装 mysql编译器安装_mysql 源码编译安装_19

 

mysql>exit

            退出后,重启使用root用户登录mysql,# mysql -u root -p

            

mysql 源码编译安装 mysql编译器安装_mysql_20

 

 g、远程连接,使用Navicat for MySQL进行连接

           

mysql 源码编译安装 mysql编译器安装_mysql 源码编译安装_21

 

点击连接测试,提示连接成功

         

mysql 源码编译安装 mysql编译器安装_mysql 源码编译安装_22

点击确定,再点击确定,可以看到连接成功的数据库和对应的表

         如果点击连接测试无法连接时,请关闭mysql数据库所在机器的防火墙:

         方法一:#  /etc/rc.d/init.d/iptables stop

         方法二:# service iptables stop 或 # chkconfig iptables off

         关闭防火墙后,重新启动mysql,数据库连接成功

yum安装MySQL:
1、查看CentOS自带mysql是否已安装,输入:yum list installed | grep mysql
2、若有自带安装的mysql,如何卸载CentOS系统自带mysql数据库?输入:yum -y remove mysql-libs.x86_64,若有多个依赖文件则依次卸载,当结果显示为Complete!即卸载完毕
3、查看yum库上的mysql版本信息(CentOS系统需要正常连接网络)。输入:yum list | grep mysqlyum -y list mysql*
4、使用yum安装mysql数据库,输入:yum -y install mysql-server mysql mysql-devel命令将:mysql-servermysqlmysql-devel都安装好,当结果显示为Complete!即安装完毕,注:安装mysql只是安装了数据库,只有安装mysql-server才相当于安装了客户
5、查看刚安装mysql数据库版本信息,输入:rpm -qi mysql-server