LINUX环境下MYSQL5.5.18源码安装
Mysql5.5.*以后必须用cmake进行编译
Cmake 安装包可以官网下载http://www.cmake.org
一、安装cmake:
1)解压cmake:#tar -zvxf cmake-version.tar.gz 2)配置编译:
进入cmake解压目录
# ./bootstrap; make; make install //调用cmake 编译脚本bootstrap 并编译安装
二、安装MYSQL
1)解压mysql-5.5.18.tar.gz:#tar -zvxf mysql-5.5.18.tar.gz 创建数据目录(mysql5.5默认已经没有data目录了)
mkdir /server/mysql/ -p //建立MYSQL安装目录,-p选项是连续建立不存在 mkdir /server/mysql/data -p //建立MYSQL数据目录,的目录。
注:一般都将安装在/usr/local/目录下,方便管理,可将/server用/usr/local/替换
2)配置编译 #cd mysql-5.5.18
#cmake . //这个方法,安装路径默认 或
#cmake . \\
-DCMAKE_INSTALL_PREFIX:PATH=/server/mysql \\
-DMYSQL_DATADIR:PATH=/server/mysql/data _install_db --user=mysql --i
(指定了DATA路径以后需要在初始化数据库的时候加上—datadir参数: scripts/mysql_install_db --user=mysql –-datadir=/server/mysql/data,否则数据库 无法启动)
关于安装编译树,可根据具体情况进行增加具体需要的编译选项
进入MYSQL解压目录读取README文档可查看所有与安装相关的选项 cmake . -LAH --查看详细编译选项。
注意一:第2步的安装过程中可能有问题,例如:CMake Error: The source directory “*” does not appear
to contain CMakeLists.txt.Specify –help for usage, or press the help button on the CMake GUI.
是安装版本错了,比如在 http://dev.mysql.com/downloads/mysql/ 下载页面时,我们要选择的是 MySQL Community Server 下的 Source Code,如图:
然后在显示的列表中选择 “Generic Linux mysql-5.5.x.tar.gz” 那个版本的源码下载。
注意二:Ubuntu 10.10
下安装mysql所需工具:cmake, GNU make, gcc, Perl, libncurses5-dev, bison(可选), chkconfig。例如:缺少libncurses5-dev (ncurses-devel) ----若差了这个包,在cmake的时候会报错。 ----Debian/Ubuntu上的包名是libncurses5-dev,RedHat和其他版本对应的是ncurses-devel ----shell:~$ sudo apt-get install libncurses5-dev ----报错信息
------------------www.linuxidc.com--------------- -- MySQL 5.5.8
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) CMake Error at cmake/readline.cmake:82 (MESSAGE): Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu , package name is libncurses5-dev ,
on RedHat and derivates it is ncurses-devel.注意,在安装好libncurses5-dev之后,重新cmake之前,要将生成的CMakeCache.txt文件删除,否则继续报错。 3)、安装:
#make && make install --编译并安装MYSQL
注意:可将以下操作命令编辑成shell脚本一次执行完成所有操作。 #groupadd mysql --增加用户组
#useradd -r -g mysql mysql –增加用户
#cd /server/mysql –进入MYSQL安装目录
#chown -R mysql:mysql . –更改MYSQL目录下所有文件目录属主于MYSQL组 MYSQL用户
#scripts/mysql_install_db --user=mysql --用mysql用户初始化数据库(注意前面所讲,要加上-datadir=/server/mysql/data选项,否则无法启动)
#chown -R root . 更改MYSQL目录下所有文件目录属主于ROOT 用户
#chown -R mysql data 更改MYSQL目录下数据文件目录属主于mysql 用户 #cp ./support-files/ my-medium.cnf /etc/my.cnf –拷MYSQL的配置文件到/etc下 cp support-files/mysql.server /etc/rc.d/init.d/mysql --拷贝/server/mysql/support- files /mysql.server 文件到 /etc/rc.d/init.d/目录下并重名为mysql 这步的作用是把
MYSQL作成服务
service mysql start 启用服务
/server/mysql/bin/mysql –uroot –p 登录进入MYSQL
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'longmaster' WITH GRANT OPTION; 增加root用户,并设定密码. flush privileges; 刷新受权使用新增root用户生效
编辑 /etc/my.cnf文档 在[mysqld]段加入 skip-name-resolve -- 跳过主机名字解析。 oservice mysql restart
另一种可参考的后续配置及问题解决:
----进入mysql安装目录下的脚本目录 shell:~$ cd /usr/local/mysql/scripts
----利用mysql_install_db脚本生成新的MySQL 授权表 ./mysql_install_db --basedir=/usr/local/mysql --datadir=/home/system_username/Programming/mysql/mysqldata --user=mysql
----进入mysql安装目录下的支持文件目录 shell:~$ cd /usr/local/mysql/support-files ----复制mysql配置文件
shell:~$ sudo cp my-medium.cnf /etc/my.cnf
----复制服务文件并修改
shell:~$ sudo cp mysql.server mysqld ----修改mysqld
basedir=/usr/local/mysql datadir=/home/mysql
mv mysqld /etc/init.d/mysqld ----启动服务
shell:~$ service mysqld start ----关闭服务
shell:~$ service mysqld stop --------------------------------- service命令:
1. 用于管理Linux系统中服务的命令
2. 作用是去/etc/init.d目录下寻找相应的服务,进行开启和关闭等操作 3. 上述操作后,mysqld服务文件对应mysql.server文件 --------------------------------- ----添加服务到自启动项
shell:~$ sudo chkconfig --level 3 mysqld on
----设置软连接使mysql, mysqldump, mysqladmin这三个命令能在shell中直接运行 shell:~$ sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
shell:~$ sudo ln -s /usr/local/mysql/bin/mysqldump /usr/bin shell:~$ sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin ---------------------------------
=>mysql数据库中文乱码解决 : 1. 乱码分析
----从终端shell进入mysql shell:~$ mysql ............