CentOS下 MySQL 5.5.13 CMake 安装笔记

转载 2011年10月19日 10:35:38
写在前面:


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

mysql 最新的版本都需要cmake编译安装,估计以后的版本也会采用这种方式,所以特地记录一下安装步骤及过程,以供参考。

注意:此安装是默认centos下已经安装了最新工具包,比如GNU makeGCCPerllibncurses5-dev,如果在编译安装过程中发现有缺失的工具包,先yum install 单独下载安装再继续即可。


以下安装中涉及的几点需要提前说明的问题:

1. 所有下载的文件将保存在 /usr/local/src/ 目录下

2. mysql 将以mysql用户运行,而且将加入 service 开机自动运行

3. mysql 将被安装在 /usr/local/mysql/ 目录下

4. mysql 默认安装使用 utf8 字符集

5. mysql 的数据和日志文件保存在 /var/mysql/ 对应目录下

6. mysql 的配置文件保存于/var/mysql/my.cnf


一. Centos 用 wget 下载需要的软件,保存到目录 /usr/local/src/ 下

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.13.tar.gz/from/http://mysql.he.net/

wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz

 

二. 安装 cmake

cd /usr/local/src


tar zxvf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./bootstrap
gmake
gmake install
cd ../

tar zxvf bison-2.5.tar.gz
cd bison-2.5
./configure
make
make install

cd ../

 

三. 编译安装 MySQL 5.5.13

/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql

tar xvf mysql-5.5.13.tar.gz
cd mysql-5.5.13/

/usr/local/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/mysql/data \
-DMYSQL_USER=mysql

make
make install

chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql

ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16

 

mkdir -p /var/mysql/
mkdir -p /var/mysql/data/
mkdir -p /var/mysql/log/
chown -R mysql:mysql /var/mysql/


cd support-files/

cp my-large.cnf /var/mysql/my.cnf

cp mysql.server /etc/init.d/mysqld


四. 配置启动MySQL 5.5.13

1. 若有需要请先修改 mysql 的配置 my.cnf

vi /var/mysql/my.cnf

 

2. mysql 初始化安装

/usr/local/mysql/scripts/mysql_install_db \
--defaults-file=/var/mysql/my.cnf \
--basedir=/usr/local/mysql \
--datadir=/var/mysql/data \
--user=mysql

3. 将 mysql 加入开机启动

chmod +x /etc/init.d/mysqld
vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容:)
basedir=/usr/local/mysql
datadir=/var/mysql/data

#加入开机启动

chkconfig --add mysqld
chkconfig --level 345 mysqld on

如果在使用chkconfig时会提示:service mysqld does not support chkconfig

则修改方法如下:

vi /etc/rc.d/init.d/mysqld
在第三行后增加
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 90 90
# description:mysql server



PS:

为了方便,将mysql bin目录加到PATH中,在/etc/profile中加入myslq/bin,顺便增加两个别名方便操作:

#MySQL bin path

export PATH=/usr/local/mysql/bin:$PATH

#MySQL开关客户端

alias mysql_start="mysqld_safe&"

alias mysql_stop="mysqladmin -uroot -p shutdown"


4. 启动 mysql

service mysqld start


Issue:

安装好MYSQL后启动数据库出错

Starting MySQL.The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid). [FAILED] 启动mysql失败
HoTo:
1.配置文件是否确定为/var/mysql/my.cnf?也可能是/etc/my.cnf
----若非使用了预期的my.cnf,那么MySql找不到之前初始化的数据库,启动失败。
----启动服务时可指定使用的my.cnf:
${mysql_root}/bin/mysqld_safe --defaults-file=${foo}/another_foo.cnf&
2.确定所使用的用户为root用户或mysql用户
----权限问题致使不能加载正确的配置文件,同上
3.其他:
----启动失败的情形各不相同,从错误日志中可以看出细节。日志文件默认位于:/var/log/mysqld.log
在网上查了半天,找到的有两种方法,

1、在 my.cnf 中增加了 在server下面

# The MySQL server

[mysqld]

port = 3306
socket = /tmp/mysql.sock
添加下面一行
datadir = /var/lib/mysql/

[safe_mysqld]
err-log = /var/log/mysqld.log
pid-file = /var/lib/mysql/localhost.localdomain.pid
重新启动 mysql成功
/usr/local/mysql/var/db1.pid 这个文件名字貌似不能随便指定的
(我指定成了别的是不行的 ,这里的db1是你的hostname)


2、修改改selinux的 我改了 重新启动机器就行了,以下是SELINUX配置文件
[root@localhost selinux]# vi config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
然后重启计算机

[root@localhost ~]# /etc/init.d/mysql restart

Shutting down MySQL. [ OK ]

Starting MySQL.. [ OK ]

启动完成之后用ps -ef |grep mysql 命令查看是否启动

[root@localhost mysql-5.5.11]#/mysql u root p //client开关参照1.11一文

标准的mysql安装设置

2.1 设置root帐户的密码

[root@localhost mysql-5.5.11]#mysqladmin -u root password 'yourpassword'

2.2 删除本机匿名连接的空密码帐号

本机登录mysql

[root@localhost mysql-5.5.11]#mysql u root -p

然后输入上面设置的密码,登录后在mysql的命令行中执行:

mysql>use mysql; //选择默认数据库mysql

mysql>update user set password=root’ where user = '127.0.0.1';

mysql>delete from user where password="";//不允许root密码为空

mysql>flush privileges;

mysql>quit

容许root用户是远程登录

对于root账号,如果考虑安全应该新建其他账号用于远程登录,root账号可以不必开启远程登录。不过对于一般使用,没有太多安全需求,允许root用户远程登录可以方便管理,毕竟使用专用管理软件的图形界面在操作方面要方便的多。

实现MySQL远程连接的实际操作流程

3.1 mysql 数据库端设置

[root@localhost mysql-5.5.11]#/mysql u root p //进入数据库

mysql>use mysql

mysql>select user,password,host from user;

mysql>update user set host = '192.168.%' where user = '127.0.0.1';

mysql>grant all privileges on *.* to root@'%' identified by "root";//给以root@ip登录的远程连接赋予权限,能够连接数据库。远程无法连接的常见问题原因。

并把远程登录用户的密码设置为root

mysql> flush privileges;

mysql>quit

3.2 mysql Windows客户端

下载客户端

http://js.newhua.com/down/files/mysql-gui-tools-5.0-r17-win32.zip

mysql官方GUI

设置用户名root 密码为root //上面刚设置好的密码


LAMP部署-CentOS、Apache、MySQL、PHP配置优化

适用人群 PHP程序员,基于PHP的开源产品维护人员,网站管理等 课程简介 CentOS,Apache,Mysql,PHP安装过程中遇到的问题,会在本套课程中详细介绍。
  • 2017年06月06日 14:48

启动mysql错误解决方案,学会查看错误日志:mysql.sock丢失,mysqld_safe启动报错

本人还是个菜鸟,下面是我的经验之谈,能解决一些问题,有不对的地方,敬请斧正。 我的是CentOS6.3+MySQL5.1.57。 重启了一次服务器后,使用> mysql -u root -p登陆是...
  • dyllove98
  • dyllove98
  • 2013-08-03 21:52:35
  • 10242

Mysql安装与启动的问题

1. sql默认安装路径查看: ./configure --help prefix处可以看到默认安装路径。或者可以通过./configure --prefix=/usr/local/mysql设置...
  • qinglu000
  • qinglu000
  • 2015-02-28 11:12:28
  • 3143

MySQL 错误日志(Error Log)

同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等。这些日志可以帮助我们定义mysqld内...
  • robinson_0612
  • robinson_0612
  • 2014-10-03 21:48:58
  • 41818

linux下安全打开mysql /usr/local/mysql/bin/mysqld_safe --user=mysql&

/usr/local/mysql/bin/mysqld_safe --user=mysql&
  • u012664888
  • u012664888
  • 2014-09-27 20:37:26
  • 3652

Centos7 上安装mysql遇上的问题:mysql无法正常启动

安装mysql-server报错没有可用包。 systemctl start mysqld没反应 [ERROR] Can't open the mysql.plugin table. Please ...
  • qq_32815807
  • qq_32815807
  • 2017-05-15 18:23:05
  • 16081

mysql5.7安装遇到的问题总结,持续更新

mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Creat...
  • liukai6
  • liukai6
  • 2017-11-08 17:38:28
  • 1556

mysqld_safe 用法

之前用过dpkg  或者rpm安装mysql,本文使用tar.gz的方式手动安装mysql   安装之前需要先 apt-get install libaio-dev #安装mysql需要 ...
  • projava
  • projava
  • 2014-11-25 15:53:47
  • 21640

记一次xtrabackup工具恢复后mysqld_safe启动问题

一.基本信息 版本:10.0.20-MariaDB-log 数据文件和redo log位置:/apps/dbdat/mariadb10_data3306/ bing log位置:/apps/dbdat...
  • zengxuewen2045
  • zengxuewen2045
  • 2016-05-18 19:48:30
  • 1169

MySQL error log配置及管理

修改MySQL error log配置步骤 1.查看当前配置,关闭MySQL实例。 2.修改my.cnf配置文件。 3.启动MySQL实例检查更改是否生效。 备份旧的error...
  • lijingkuan
  • lijingkuan
  • 2015-11-05 16:19:02
  • 5549
收藏助手
不良信息举报
您举报文章:CentOS下 MySQL 5.5.13 CMake 安装笔记
举报原因:
原因补充:

(最多只允许输入30个字)