CentOS5.6下使用cmake编译MySQL 5.5.13源码和安装笔录

一、准备环境

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/

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

5、    设置mysqld的开机启动

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

# chmod 755 /etc/init.d/mysql

# chkconfig mysql on

6、    MySQL配置环境变量

mysqlbin目录加到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=’root 123’ 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)         WindowsMySQL客户端

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