当前位置:文档之家› LINUX环境下MYSQL5.5.X源码安装

LINUX环境下MYSQL5.5.X源码安装

LINUX环境下MYSQL5.5.18源码安装Mysql5.5.*以后必须用cmake进行编译Cmake 安装包可以官网下载一、安装cmake:1)解压cmake:#tar -zvxf cmake-version.tar.gz2)配置编译:进入cmake解压目录# ./bootstrap; make; make install //调用cmake 编译脚本bootstrap 并编译安装二、安装MYSQL1)解压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:PA TH=/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.是安装版本错了,比如在/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----报错信息----------------- MySQL 5.5.8-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PA TH) 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/ f /etc/f –拷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 登录进入MYSQLGRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'longmaster' WITH GRANT OPTION; 增加root用户,并设定密码.flush privileges; 刷新受权使用新增root用户生效编辑/etc/f文档在[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 f /etc/f----复制服务文件并修改shell:~$ sudo cp mysql.server mysqld----修改mysqldbasedir=/usr/local/mysqldatadir=/home/mysqlmv 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/binshell:~$ sudo ln -s /usr/local/mysql/bin/mysqldump /usr/binshell:~$ sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin---------------------------------=>mysql数据库中文乱码解决:1. 乱码分析----从终端shell进入mysqlshell:~$ mysql........................mysql> show variables like '%character%'----得到以下数据库编码信息表:+----------------------------------- +-------------------------------------------+| Variable_name | Value |+------------------------------------+-------------------------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | latin1 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server | latin1 || character_set_system | utf8 || character_sets_dir | /usr/local/mysql/share/charsets/ |+------------------------------------ +-------------------------------------------+可以看出character_set_database ,character_set_server 的编码还是默认的latin1。

相关主题