《mysql5.5源码安装配置概要》由会员分享,可在线阅读,更多相关《mysql5.5源码安装配置概要(24页珍藏版)》请在金锄头文库上搜索。
1、1. mysql的安装1.1 版本5.5使用sysbench工具测试,发现mysql5.5比5.1性能要高上很多,因此我们使用mysql5.5版本。1.2 安装方式关于mysql的安装方式可以通过rpm包,二进制编译,yum安装,源码编译安装;在5.5之前的版本用的都是./configure的安装方式,而自MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具,因此,我们首先要在系统中源码编译安装cmake工具。1.2.1 Cmke安装在安装前请确定gcc-c+编译器是否安装,如果没有,请通过yum install gcc-c+安装。如果提
2、示This system is not registered with RHN ,即yum没有注册,请参考附录1。# 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 基本上安装会很顺利,安装1.3 安装前的系统设置1. 建立mysql安装目录及数据存放目录。# mkdir /opt/mysql# mkdir /opt/mysql/data2. 创建用户和用户组# groupadd
3、 mysql# useradd -g mysql mysql3. 赋予数据存放目录权限# chown mysql:mysql R /opt/mysql/data1.4 从configure更换为cmake由于我们平时习惯了使用configure方式,并且所使用的参数也是比较个性化的,换成cmake之后,这一方面会带来不少的麻烦。还好,MySQL的官方网站提供了二者的参数对照表,我们可以尽可能的保留之前的参数,来编译配置新的MySQL版本。configure 与 cmake 参数对照指南:http:/ -prefix=/opt/mysql/ -sysconfdir=/opt/mysql/etc
4、-localstatedir=/opt/mysql/data -with-tcp-port=3306 -with-unix-socket-path=/tmp/mysqld.sock -with-mysqld-user=mysql -enable-assembler -with-extra-charsets=all -enable-thread-safe-client -with-big-tables -with-readline -with-ssl -with-embedded-server -enable-local-infile -with-plugins=partition,innoba
5、se,myisammrglower_case_table_names=1区分大小写,表出现大小写时添加经过与cmake的参数对照之后,去除掉已经被取消的参数(大多数是因为新版本已经默认启用),cmake的参数配置如下:cmake . -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/opt/mysql -DCOMMUNITY_BUILD:BOOL=ON -DENABLED_PROFILING:BOOL=ON -DENABLE_DEBUG_SYNC:BOOL=OFF -DINSTALL_LAYOUT:STRING=STA
6、NDALONE -DMYSQL_DATADIR:PATH=/opt/mysql/data -DMYSQL_MAINTAINER_MODE:BOOL=OFF -DWITH_EMBEDDED_SERVER:BOOL=ON -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_SSL:STRING=bundled -DWITH_UNIT_TESTS:BOOL=OFF -DWITH_ZLIB:STRING=bundled -LH1.5 安装编译mysql5.5最新版本我这里编译安装的是 MySQL 5.5.13通过wget直接下载得到,如果连接失败,可以在http:/ftp.
7、ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.1/ 下载各种版本。安装模式可参考http:/ wget http:/ tar zxvf mysql-5.5.13.tar.gz# cd mysql-5.5.13mysql-5.5.13# cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql-DSYSCONFDIR=/opt/mysql/etc-DMYSQL_DATADIR=/opt/mysql/data -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_U
8、SER=mysql -DEXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITHOUT_PARTITION_STORAGE_ENGINE=1使用下面http:/ . -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/opt/mysql -DCOMMUNITY_BUILD:BOOL=ON -D
9、ENABLED_PROFILING:BOOL=ON -DENABLE_DEBUG_SYNC:BOOL=OFF -DINSTALL_LAYOUT:STRING=STANDALONE -DMYSQL_DATADIR:PATH=/opt/mysql/data -DMYSQL_MAINTAINER_MODE:BOOL=OFF -DWITH_EMBEDDED_SERVER:BOOL=ON -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_SSL:STRING=bundled -DWITH_UNIT_TESTS:BOOL=OFF -DWITH_ZLIB:STRING=bund
10、led -LH安装过程中会遇到如下问题http:/ 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 Redha
11、t and derivates it is ncurses-devel.Call Stack (most recent call first):cmake/readline.cmake:126 (FIND_CURSES)cmake/readline.cmake:216 (MYSQL_USE_BUNDLED_LIBEDIT)CMakeLists.txt:250 (MYSQL_CHECK_READLINE)- Configuring incomplete, errors occurred!mysql-5.5.13# rm CMakeCache.txt# yum install ncurses-de
12、velrootlocalhost mysql-5.5.11# yum install bisonrootlocalhost mysql-5.5.11# cmake# make# make install在make与make install的时候可以看到进度百分比,感觉这一点要比configure方式要好。1.6 配置并初始化数据库1. 创建f配置文件# mkdir /opt/mysql/log# mkdir /opt/mysql/etc# cp support-files/my-f /opt/mysql/etc/f2. 初始化数据库执行前需赋给scripts/mysql_install_db文
13、件执行权限# chmod 755 scripts/mysql_install_db# scripts/mysql_install_db -user=mysql -basedir=/opt/mysql/ -datadir=/opt/mysql/data/3. 赋予shell脚本可执行权限:# mkdir /opt/mysql/init.d# cp support-files/mysql.server /opt/mysql/init.d/mysql4. 启动MySQL# /opt/mysql/init.d/mysql start5. 通过命令行登录管理MySQL服务器(提示输入密码时直接回车):#
14、 /opt/mysql/bin/mysql -u root -p -S /tmp/mysql.sock6. 输入以下SQL语句,创建一个具有root权限的用户(admin)和密码(12345678):GRANT ALL PRIVILEGES ON *.* TO adminlocalhost IDENTIFIED BY 12345678;GRANT ALL PRIVILEGES ON *.* TO admin127.0.0.1 IDENTIFIED BY 12345678;7. 为root帐户设置初始密码# /opt/mysql/bin/mysqladmin -u root password new-password8. 删除本机匿名连接的空密码帐号/opt/mysql/bin/mysql -uroot