megnlingling 发表于 2018-10-10 07:30:56

cmake编译安装mysql5.5-linux运维

  CMAKE方式编译安装Mysql5.5
  1、源码cmake方式编译安装MySQL5.5.32
  安装前先安装:
  yum install ncurses-devel -y
  1.1 下载Mysql和cmake安装包:
  wget http://wwwNaNake.org/files/v2.8/cmake-2.8.8.tar.gz
  1.2 查看系统环境
  cat /etc/redhat-release
  uname -r
  uname -m
  1.3 安装cmake包
  tar zxf cmake-2.8.8.tar.gz
  cd cmake-2.8.8
  ./configure
  gmake
  gmake install
  cd ../
  1.4 开始安装mysql
  1.4.1 创建用户和组
  groupadd mysql
  useradd mysql -s /sbin/nologin -M -g mysql
  yum install ncurses-devel -y
  1.4.2 解压编译MySQL
  tar zxf mysql-5.5.32.tar.gz
  cd mysql-5.5.32
  cmake -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
  -DMYSQL_DATADIR=/application/mysql-5.5.32/data\
  -DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock\
  -DDEFAULT_CHARSET=gbk\
  -DDEFAULT_COLLATION=gbk_chinese_ci\
  -DENABLED_LOCAL_INFILE=ON\
  -DWITH_INNOBASE_STORAGE_ENGINE=1\
  -DWITH_FEDERATED_STORAGE_ENGINE=1\
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1\
  -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1\
  -DWITHOUT_PARTITION_STORAGE_ENGINE=1
  make
  make install
  ln -s /application/mysql-5.5.32/ /application/mysql
  如果上述操作未出现错误,则MySQL软件的安装就算成功了。
  1.4.3 初始化配置MySQL
  1.查看默认模板配置文件
  # ll support-files/my*.cnf
  -rw-r--r--1 root root4759 Apr 25 18:19support-files/my-huge.cnf
  -rw-r--r--1 root root 19809 Apr 25 18:19 support-files/my-innodb-heavy-4G.cnf
  -rw-r--r--1 root root4733 Apr 25 18:19support-files/my-large.cnf
  -rw-r--r--1 root root4744 Apr 25 18:19support-files/my-medium.cnf
  -rw-r--r--1 root root2908 Apr 25 18:19support-files/my-small.cnf
  2.选择配置文件
  /bin/cpsupport-files/my-small.cnf /etc/my.cnf
  测试环境选小的,生产环境可以根据硬件选择support-files/my-innodb-heavy-4G.cnf
  3.配置环境变量
  echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
  tail -1 /etc/profile
  source /etc/profile
  echo $PATH
  4.初始化数据文件(容易出错的步骤)
  #建立mysql数据文件目录
  mkdir -p /application/mysql/data
  #授权mysql用户访问mysql的安装目录
  chown -R mysql.mysql /application/mysql/*
  chmod -R 1777 /tmp
  #初始化数据库文件(如果重新初始化数据库文件,必须先执行:rm -fr /application/mysql/data/*)
  /application/mysql/scripts/mysql_install_db --basedir=/application/mysql--datadir=/application/mysql/data --user=mysql
  特别提示:
  a.如果用mysql 5.0,5.1省略指定datadir会出错。
  5.设置常规方式启动关闭脚本
  cd /application/tools/mysql-5.5.32/
  #拷贝mysql启动脚本到/etc/init.d/下
  cp support-files/mysql.server /etc/init.d/mysqld
  #授权700权限,即脚本可执行
  chmod 700 /etc/init.d/mysqld
  /etc/init.d/mysqldstart
  chkconfig mysqld on
  chkconfig --list mysqld
  6.登录mysql
  7.简单优化mysql
  a.删除test库:
  mysql>show databases;
  +--------------------+
  |Database         |
  +--------------------+
  |information_schema |
  |mysql            |
  |performance_schema |
  |test               |
  +--------------------+
  4 rowsin set (0.03 sec)
  mysql>drop database test;
  Query OK, 0 rows affected (0.04 sec)
  mysql>show databases;
  +--------------------+
  |Database         |
  +--------------------+
  |information_schema |
  |mysql            |
  |performance_schema |
  +--------------------+
  3 rowsin set (0.00 sec)
  b.清除并修改管理员用户
  mysql>select user,host from mysql.user;
  +------+-----------+
  | user| host      |
  +------+-----------+
  | root| 127.0.0.1 |
  | root| ::1       |
  |      | Mysql   |
  | root| Mysql   |
  |      | localhost |
  | root| localhost |
  +------+-----------+
  6 rowsin set (0.00 sec)
  mysql>delete from mysql.user;
  QueryOK, 6 rows affected (0.07 sec)
  mysql>select user,host from mysql.user;
  Emptyset (0.00 sec)

  mysql>grant all privileges on *.* to system@'localhost'>  QueryOK, 0 rows affected (0.00 sec)
  mysql>flush privileges;
  QueryOK, 0 rows affected (0.00 sec)

  mysql>grant all privileges on *.* to system@'127.0.0.1'>  QueryOK, 0 rows affected (0.00 sec)
  mysql>select user,host from mysql.user;
  +--------+-----------+
  |user   | host      |
  +--------+-----------+
  |system | 127.0.0.1 |
  |system | localhost |
  +--------+-----------+
  2 rowsin set (0.00 sec)
  操作过程:
  # cat /etc/redhat-release
  CentOSrelease 6.4 (Final)
  # uname -r
  2.6.32-358.el6.x86_64
  # uname -m
  x86_64
  # tar zxf cmake-2.8.8.tar.gz
  # cd cmake-2.8.8
  # ./configure
  CMakehas bootstrapped.Now run gmake.
  # gmake
  # gmake install
  # groupadd mysql
  # useradd mysql -s /sbin/nologin -M -g mysql
  # tar zxf mysql-5.5.32.tar.gz
  # cd mysql-5.5.32
  # cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
  cmake. -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
  -DMYSQL_DATADIR=/application/mysql-5.5.32/data\
  -DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock\
  -DDEFAULT_CHARSET=gbk\
  -DDEFAULT_COLLATION=gbk_chinese_ci\
  -DENABLED_LOCAL_INFILE=ON\
  -DWITH_INNOBASE_STORAGE_ENGINE=1\
  -DWITH_FEDERATED_STORAGE_ENGINE=1\
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1\
  -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1\
  -DWITHOUT_PARTITION_STORAGE_ENGINE=1
  #Build files have been written to: /application/tools/mysql-5.5.32   如果显示这个表示cmake成功
  # make
  # make install
  # ln -s /application/mysql-5.5.32//application/mysql
  # ll support-files/my*.cnf
  -rw-r--r--1 root root4759 Apr 25 18:19support-files/my-huge.cnf
  -rw-r--r--1 root root 19809 Apr 25 18:19 support-files/my-innodb-heavy-4G.cnf
  -rw-r--r--1 root root4733 Apr 25 18:19support-files/my-large.cnf
  -rw-r--r--1 root root4744 Apr 25 18:19support-files/my-medium.cnf
  -rw-r--r--1 root root2908 Apr 25 18:19support-files/my-small.cnf
  # cp support-files/my-small.cnf /etc/my.cnf
  # echo 'export PATH=/application/mysql/bin:$PATH'>>/etc/profile
  # tail -1 /etc/profile
  exportPATH=/application/mysql/bin:$PATH
  # source /etc/profile
  # echo $PATH
  /application/mysql/bin:/application/mysql/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
  # mkdir -p /application/mysql/data
  # chown -R mysql.mysql /application/mysql/*
  # chmod -R 1777 /tmp
  # /application/mysql/scripts/mysql_install_db--basedir=/application/mysql --datadir=/application/mysql/data--user=mysql
  # cp support-files/mysql.server /etc/init.d/mysqld
  # chmod 700 /etc/init.d/mysqld
  # chkconfig mysqld on
  # chkconfig --list mysqld
  mysqld          0:off   1:off2:on    3:on    4:on   5:on    6:off
  root@Mysqlmysql-5.5.32]# mysql
  Welcometo the MySQL monitor.Commands end with; or \g.

  YourMySQL connection>  Serverversion: 5.5.32 Source distribution
  Copyright(c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  Oracleis a registered trademark of Oracle Corporation and/or its
  affiliates.Other names may be trademarks of their respective
  owners.
  Type'help;' or '\h' for help. Type '\c' to clear the current input statement.
  mysql>
  简单优化mysql
  a.删除test库:
  mysql>show databases;
  +--------------------+
  |Database         |
  +--------------------+
  |information_schema |
  |mysql            |
  |performance_schema |
  |test               |
  +--------------------+
  4 rowsin set (0.03 sec)
  mysql>drop database test;
  QueryOK, 0 rows affected (0.04 sec)
  mysql>show databases;
  +--------------------+
  |Database         |
  +--------------------+
  |information_schema |
  |mysql            |
  |performance_schema |
  +--------------------+
  3 rowsin set (0.00 sec)
  b.清除并修改管理员用户
  mysql>select user,host from mysql.user;
  +------+-----------+
  | user| host      |
  +------+-----------+
  | root| 127.0.0.1 |
  | root| ::1       |
  |      | Mysql   |
  | root| Mysql   |
  |      | localhost |
  | root| localhost |
  +------+-----------+
  6 rowsin set (0.00 sec)
  mysql>delete from mysql.user;
  Query OK, 6 rows affected (0.07 sec)
  mysql>select user,host from mysql.user;
  Emptyset (0.00 sec)

  mysql>grant all privileges on *.* to system@'localhost'>  Query OK, 0 rows affected (0.00 sec)
  mysql>flush privileges;
  Query OK, 0 rows affected (0.00 sec)

  mysql>grant all privileges on *.* to system@'127.0.0.1'>  Query OK, 0 rows affected (0.00 sec)
  mysql>select user,host from mysql.user;
  +--------+-----------+
  |user   | host      |
  +--------+-----------+
  |system | 127.0.0.1 |
  |system | localhost |
  +--------+-----------+
  2 rowsin set (0.00
  1、CMAKE安装Mysql时遇到的问题:

  --Check>  --Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
  CMakeError at cmake/readlineNaNake:83 (MESSAGE):
  Curses library not found.Please install appropriate package,
  remove CMakeCache.txt and rerun cmake.OnDebian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it isncurses-devel.
  CallStack (most recent call first):
  cmake/readlineNaNake:127 (FIND_CURSES)
  cmake/readlineNaNake:217(MYSQL_USE_BUNDLED_LIBEDIT)
  CMakeLists.txt:269 (MYSQL_CHECK_READLINE)
  --Configuring incomplete, errors occurred!
  解决方法:
  rm CMakeCache.txt
  yum install ncurses-devel -y
  然后再cmake

页: [1]
查看完整版本: cmake编译安装mysql5.5-linux运维