CentOS 5.6下使用cmake编译MySQL 5.5.13源码和安装笔录

2014-11-24 18:11:20 · 作者: · 浏览: 0

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://winos.blog.51cto.com/937089/582997


一、准备环境


1、安装确保以下系统相关库文件


gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool*(libtool-ltdl-devel*)


# yum –y install gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool*


2、建立mysql安装目录及数据存放目录


# mkdir /usr/local/mysql


# mkdir /var/mysqldata



3、创建用户和用户组


# groupadd mysql


# useradd -g mysql mysql



4、赋予数据存放目录权限


# chown mysql.mysql –R /var/mysqldata/



5、安装cmake


mysql5.5以后是通过cmake来编译的


通过以下路径下载cmake-2.8.4.tar.gz,也可在http://www.cmake.org网站进行下载


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


# tar zxvf cmake-2.8.4.tar.gz


# cd cmake-2.8.4


# ./configure


# make && make install




二、安装MySQL 5.5.13


1、获取解压mysql-5.5.13.tar.gz


通过以下路径下载mysql-5.5.13.tar.gz,也可在http://www.mysql.com/downloads/mysql官网网站进行下载


# wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.13.tar.gz


# tar zxvf mysql-5.5.13.tar.gz


# cd mysql-5.5.13



2、编译mysql-5.5.13


# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \


-DMYSQL_UNIX_ADDR=/var/mysqldata/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/mysqldata \


-DMYSQL_USER=mysql \


-DMYSQL_TCP_PORT=3306


# make


# make install



3、复制配置文件


# cp support-files/my-medium.cnf /etc/my.cnf



4、初始化数据库


执行前需赋给scripts/mysql_install_db文件执行权限


# chmod 755 scripts/mysql_install_db


# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ \


--datadir=/var/mysqldata/


注:basedir:mysql安装路径 datadir:数据库文件储存路径



5、设置mysqld的开机启动


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


# chmod 755 /etc/init.d/mysql


# chkconfig mysql on



6、为MySQL配置环境变量


将mysql的bin目录加到PATH中,有利于以后管理和维护,在/etc/profile中加入myslq/bin,同时增加两个别名方便操作:


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


# alias mysql_start="mysqld_safe &"


# alias mysql_stop="mysqladmin –u root -p shutdown"



7、启动mysql服务


# /etc/init.d/mysql start


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



8、登陆mysql


# mysql -u root –p




三、MySQL标准设置


1、为root帐户设置初始密码


# /usr/local/mysql/bin/mysqladmin -u root password 'new-password'


或者限制只能通过本机登陆


# /usr/local/mysql/bin/mysqladmin -u root -h ‘hostname’ password 'new-password'


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


本机登录mysql


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


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


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


mysql>flush privileges;


mysql>quit



容许root用户是远程登录


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



3、设置MySQL远程连接


1) mysql 数据库端设置


# /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 "root123";//给以root@ip登录的远程连接赋予权限,能够连接数据库。远程无法连接的常见问题原因。并把远程登录用户的密码设置为root


mysql> flush privileges;


mysql>quit



2) Windows下MySQL客户端


MySQL官方GUI客户端:http://www.mysql.com/downloads/workbench/