hao1nan 发表于 2018-10-8 08:13:27

Linux RedHat 6.4 MySQL5.6源码包安装

  一、准备工作:
  1、查询系统中已安装的MySQL相关软件包
  # rpm -qa|grep -imysql
  2、如果MySQL已开启,停止运行MySQL服务器
  #service mysqld stop
  3、卸载系统包
  # rpm -e perl-DBD-MySQL-4.013-3.el6.x86_64 --nodeps
  # rpm -e mysql-libs-5.1.66-2.el6_3.x86_64 --nodeps
  # rpm -e qt-mysql-4.6.2-25.el6.x86_64 --nodeps
  二、安装编译
  1、MySQL编译依赖
  (1)、必备的包和工具
  gcc/g++ :MySQL 5.6开始,需要使用g++进行编译。
  cmake:MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本。
  bison   :MySQL语法解析器需要使用bison进行编译。
  ncurses-devel :用于终端操作的开发包。
  zlib    :MySQL使用zlib进行压缩。
  (2)、功能需要的包
  libxml   :用于XML输入输出方式的支持。
  openssl:使用openssl安全套接字方式通信。
  dtrace   :用于诊断MySQL问题。
  2、MySQL基本编译参数
  cmake 参数说明手册参考:http://www.blogjava.net/kelly859/archive/2012/09/04/387005.html
  --CMAKE_BUILD_TYPE//编译的版本类型:RelWithDebInfo和Debug,不同之处是RelWithDebInfo会进行优化。
  --CMAKE_INSTALL_PREFIX //指定make install安装的目标路径。
  --SYSCONFDIR //指定配置文件的默认路径。
  --MYSQL_DATADIR //指定data目录的默认路径.
  --WITH_DEBUG // 指定是否有debugging信息,一般用于源码调试时,打开WITH_DEBUG,生产环境关闭。
  --ENABLED_PROFILING //指定是否可以使用show profile显示操作执行的详细信息。
  --DEFAULT_CHARSET //指定默认字符集,可以在启动的配置文件中指定。
  --DEFAULT_COLLATION // 指定默认字符比较、排序的规则
  --WITH_EXTRA_CHARSETS //指定其他可能使用的字符集。
  --WITH_SSL //指定SSL的类型,从5.6.6开始默认bundled类型,此外也可以指定SSL库的路径地址。
  --WITH_ZLIB //指定zlib的类型,用于压缩功能。
  --WITH_storage_STORAGE_ENGINE //指定编译支持的存储引擎,默认支持MyISAM,MERGE,MEMORY,CSV存储引擎。
  --ENABLED_LOCAL_INFILE //指定是否允许使用load data infile功能。
  --WITH_EMBEDDED_SERVER //指定是否编译libmysqld嵌入式库
  --INSTALL_LAYOUT //指定安装的布局类型。
  3、安装信息
  操作系统 RedHat 6.4
  # cat /etc/issue

  Red Hat Enterprise Linux Server>  MySQL 版本 5.6.23
  下载地址:http://www.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz/from/http://cdn.mysql.com/
  安装目录为:/app/mysql/
  数据目录为:/data/mysqldata
  存储引擎包括:MEMORY,MyISAM,InnoDB等
  字符集为:UTF8
  4、安装源码说依赖的库
  # yum -y install gcc gcc-c++ autoconf   zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
  5、下载所需软件包:
  #将下载的文件都放到/opt目录下,如下
  cmake:http://www.cmake.org/files/v2.8/cmake-2.8.11.1.tar.gz
  bison:http://ftp.gnu.org/gnu/bison/bison-2.7.tar.gz
  m4:http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.gz
  6、所需包
  安装cmake编译器
  # cd /opt
  # tar -xvf cmake-2.8.11.1.tar.gz
  # cd cmake-2.8.11.1
  # ./bootstrap
  # make && make install
  安装m4
  # tar -xvf m4-1.4.16.tar.gz
  # cd m4-1.4.16
  # ./configure && make && make install
  安装bison
  # tar -xvf bison-2.7.tar.gz
  # cd bison-2.7
  # ./configure && make && make install
  7、创建mysql用户与组,相关目录
  # /usr/sbin/groupadd mysql
  # /usr/sbin/useradd -g mysql mysql
  # mkdir -p /app/mysql
  # chown -R mysql:mysql /app/mysql
  # mkdir -p /data/mysqldata
  # chown -R mysql:mysql /data/mysqldata/
  8、编译安装mysql
  # tar -zxvf mysql-5.6.23.tar.gz
  # cd mysql-5.6.23
  # export CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
  # export CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
  # export CXX=g++
  # cmake -DCMAKE_INSTALL_PREFIX=/app/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=utf8,gbk\
  -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 \
  -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldata/ -DSYSCONFDIR=/etc \
  -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 \
  # make && make install
  9、初始化数据库
  拷贝mysql配置文件
  # cp support-files/my-default.cnf /etc/my.cnf
  # cd /app/mysql/scripts/
  # ./mysql_install_db --user=mysql--basedir=/app/mysql --datadir=/data/mysqldata/
  10、配置环境变量
  # vim /etc/profile
  PATH=/app/mysql/bin:/app/mysql/lib:$PATH
  export PATH
  # source /etc/profile
  11、设置开机启动
  # cp support-files/mysql.server /etc/init.d/mysqld
  # chkconfig --add mysqld
  # chkconfig --list mysqld
  mysqld          0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭
  # chmod 755 /etc/init.d/mysqld
  # service mysqld start
  Starting MySQL..[确定]
  12、初始化root密码
  #/app/mysql/bin/mysqladmin -u root password '123456'
  遇到问题 如果不能初始化密码,出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
  # /etc/init.d/mysql stop
  # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
  # mysql
  UPDATE user SET password=PASSWORD('123456') WHERE user='root';
  FLUSH PRIVILEGES;
  # mysql -uroot -p123456
  13、访问授权
  #mysql/bin/mysql -uroot -p         #敲入该命令后,屏幕会提示输入密码,输入上一步设置的密码
  删除root密码为空的记录
  mysql> use mysql;
  mysql> delete from user where password='';
  mysql> flush privileges;
  配置mysql允许root远程登录                                  #登录

  mysql> grant all privileges on *.* to root@'%'>  mysql> flush privileges;
  mysql> select User,Password,Host from user;

页: [1]
查看完整版本: Linux RedHat 6.4 MySQL5.6源码包安装