Linux下MySQL 5.5.11源码编译安装笔记

来源:互联网 发布:mysql查询当前时间 编辑:程序博客网 时间:2024/06/05 11:35


这篇文章我稍有修改,原文见:http://www.itokit.com/2011/1221/72840.html

1       mysql5.5.11编译安装

1.1   装所需要系统库相关库文件

gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml*ncurses-devel libmcrypt* libtool-ltdl-devel*

1.2      创建mysql安装目录  

[root@localhost mysql-5.5.11]# mkdir -p /usr/local/mysql/

1.3      创建数据存放目录

[root@localhost mysql-5.5.11]# mkdir -p /data/mysql/

1.4      创建用户和用户组与赋予数据存放目录权限

 [root@localhostmysql-5.5.11]# groupadd mysql

 [root@localhostmysql-5.5.11]# useradd -g mysql mysql

[root@localhost mysql-5.5.11]# chown mysql.mysql -R/data/mysql/

1.5      安装cmake

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

下载解压cmake-2.8.4.tar.gz

[root@localhost mysql-5.5.11]# wgethttp://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

//文件在//192.168.10.250  /cgroup/soft/mysql

 [root@localhostmysql-5.5.11]# tar zxvf cmake-2.8.4.tar.gz

 [root@localhostmysql-5.5.11]# cd cmake-2.8.4

 [root@localhostmysql-5.5.11]#./configure

[root@localhost mysql-5.5.11]# make && makeinstall

1.6      安装mysql 5.5.11

[root@localhost mysql-5.5.11]#wgethttp://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.11.tar.gz

//文件在//192.168.10.250  /cgroup/soft/mysql

 [root@localhostdown]# tar zxvf mysql-5.5.11.tar.gz

[root@localhost down]# cd mysql-5.5.11

1.7      编译mysql-5.5.11

[root@localhost mysql-5.5.11]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_UNIX_ADDR=/data/mysql/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=/data/mysql -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

上面的命令一次拷进命令行。

[root@host mysql-5.5.11]# make

[root@host mysql-5.5.11]# make install

1.8      复制配置文件

[root@mysql-5.5.11]# cpsupport-files/my-medium.cnf /etc/my.cnf

1.9      初始化数据库

(执行前需要chmod 755scripts/mysql_install_db赋给文件执行权限)

[root@localhostmysql-5.5.11]#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/

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

1.10  设置mysqld的开机启动:

 [root@mysql-5.5.11]# cpsupport-files/mysql.server /etc/init.d/mysql

[root@mysql-5.5.11]# chmod 755 /etc/init.d/mysql

chkconfig mysql on

1.11 配置环境

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

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

开关客户端

alias mysql_start="mysqld_safe&"

alias mysql_stop="mysqladmin -uroot -pshutdown"

1.12 启动mysql服务

[root@localhost mysql-5.5.11]# /etc/init.d/mysqlstart  //服务器端开关

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

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

2       标准的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用户远程登录可以方便管理,毕竟使用专用管理软件的图形界面在操作方面要方便的多。

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

     

3.1      mysql 数据库端设置

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

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       mysqlWindows客户端

下载客户端

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

mysql官方GUI

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

 

4.  linuxC调用Mysql数据库:

a.设置环境变量,在/etc/profile最后两行添加“export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/mysql/”和“export PATH=$PATH:/usr/local/mysql/bin/”,然后执行:source /etc/profile(我的环境是:Fedora11

b.修改Makefile,在Makefile里“CFLAGS”选项后添加“CFLAGS += -lmysqlclient”即可;

c.编译时添加" -I/usr/local/mysql/include/"或将"CFLAGS += -I/usr/local/mysql/include/"添加b中,如“CFLAGS +=-I/usr/local/mysql/include/ -lmysqlclient”即可。

d.还有可能要在/etc/profile末尾再添加“export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib/”,然后执行:source /etc/profile

 

0 0