Mysql5.5cmake源码编译安装

[root@hcf tools]# wget https://cmake.org/files/v2.8/cmake-2.8.8.tar.gz

1.1查看系统环境

[root@hcf tools]# cat /etc/redhat-release

CentOS release 6.9 (Final)

[root@hcf tools]# uname -r

2.6.32-696.10.2.el6.x86_64

[root@hcf tools]# uname -m

x86_64

1.2安装cmake包

[root@hcf tools]# tar zxf cmake-2.8.8.tar.gz

[root@hcf tools]# cd cmake-2.8.8

[root@hcf cmake-2.8.8]# ./configure

报以下错时安装yum install –y gcc gcc-c++即可:Cannot find appropriate C compiler on this system.

Please specify one using environment variable CC.

安装成功提示: CMake has bootstrapped.  Now run gmake.

[root@hcf cmake-2.8.8]# gmake

[100%] Built target foo表示安装完成

[root@hcf cmake-2.8.8]# gmake install

[root@hcf cmake-2.8.8]# cd ../

1.3开始安装mysql

mkdir /application/mysql-5.5.32 -p

[root@hcf mysql-5.1.72]# groupadd mysql

[root@hcf mysql-5.1.72]# useradd mysql -s /sbin/nologin -g mysql -M

yum install ncurses-devel –y(否则编译出错,将编译的目录删掉重新来)

[root@hcf mysql-5.1.72]# tar zxf mysql-5.5.32.tar.gz

[root@hcf mysql-5.1.72]# cd mysql-5.5.32

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \

-DMYSQL_DATADIR=/application/mysql-5.5.32/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

 

 

cmake .回车符去掉否则可能报错

-DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \

-DMYSQL_DATADIR=/application/mysql-5.5.32/mysql/data \

-DMYSQL_UNIX_ADDR=/application/mysql5.5.32/tmp/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=ON \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=gbk \

-DDEFAULT_COLLATION=gbk_chinese_ci \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

-- Build files have been written to: /home/wj/tools/mysql-5.5.32出现这个就成功了

make

[100%] Built target my_safe_process就成功了

make install

[root@hcf application]# ln -s /application/mysql5.5.32/ /application/mysql

[root@hcf tools]# ll mysql-5.5.32/support-files/*.cnf

2.选择配置文件

[root@hcf tools]# cp mysql-5.5.32/support-files/my-small.cnf /etc/my.cnf

里面的datadir=/usr/local/mysql/var改换成自己的mysql的data安装目录,否则启动mysqld服务将失败

3.配置环境变量

echo export PATH=/application/mysql/bin:$PATH >>/etc/profile

tail –1 /etc/profile

source /etc/profile

echo $PATH

提示:

更简单的设置方法

用下面命令做软链接:

ln-s/application/mysql/bin/*/usr/local/sbin/

或者把mysql命令所在路径链接到全局路径/usr/local/sbin/的下面。

4.初始化数据文件(容易出错的步骤)

[root@hcf tools]# mkdir -p /application/mysql/data  建立mysql数据文件目录

[root@hcf tools]# chown -R mysql.mysql  /application/mysql/* 授权mysql用户管理mysql的安装目录

chown -R 1777 /tmp

[root@hcf application]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql

5.5版本后mysql_install_db在scripts目录中,5.1的在bin目录中

安装mysql数据库文件

特别提示:

  1. 如果用mysql5.0,5.1省略指定datadir会出错.
  2. 正确提示:

Installing mysql system tables…

OK

Filling help tables…

OK

  1. 报错:mysql_install_db问题

Error:1005 Can’t create table ‘tmp_db’(errno:13)

解决:chown –R mysql.mysql   /application/mysql/*

Error: 1 can’t create/write to file ‘/tmp/#sql_7340_0.MYI’(Errcode:13)

解决:chmod –R  1777 /tmp

 

[root@hcf tools]# cp /application/mysql/bin/mysql.server /etc/init.d/mysqld

chmod 700 /etc/init.d/mysqld

/etc/init.d/mysqld start

报错The server quit without updating PID file (/[FAILED]ion/mysql-5.5.32/mysql/data/taikang.pid)

请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

解决方法: http://www.jb51.net/article/48625.htm

登录mysql: [root@taikang data]# mysql

报错: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

解决:登录不上去,如果是刚装完数据库出现的错误,将mysql进程杀掉mysql下的data删掉后,重新初始化数据文件

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql

报错: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

解决:mysql可能没启动了

[root@hcf tools]# chkconfig mysqld on

[root@hcf tools]# chkconfig --list mysqld

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

简单优化:

mysql> drop database test;

mysql> delete from mysql.user; 删掉所有的用户

添加system用户并且带有给其他用户授权权限

mysql> grant all privileges on *.* to system@'localhost' identified by 'wj123' with grant option;

mysql> grant all privileges on *.* to system@'127.0.0.1' identified by 'wj123' with grant option;

mysql> show grants for system@'localhost';

mysql> flush privileges;刷新权限

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值