设为首页 收藏本站
查看: 867|回复: 0

[经验分享] cmake编译安装mysql5.5-linux运维

[复制链接]

尚未签到

发表于 2018-10-10 07:30:56 | 显示全部楼层 |阅读模式
  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.查看默认模板配置文件
  [root@Mysqlmysql-5.5.32]# ll support-files/my*.cnf
  -rw-r--r--1 root root  4759 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 root  4733 Apr 25 18:19support-files/my-large.cnf
  -rw-r--r--1 root root  4744 Apr 25 18:19support-files/my-medium.cnf
  -rw-r--r--1 root root  2908 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)
  操作过程:
  [root@mysqltools]# cat /etc/redhat-release
  CentOSrelease 6.4 (Final)
  [root@mysqltools]# uname -r
  2.6.32-358.el6.x86_64
  [root@mysqltools]# uname -m
  x86_64
  [root@mysqltools]# tar zxf cmake-2.8.8.tar.gz
  [root@mysqltools]# cd cmake-2.8.8
  [root@mysqlcmake-2.8.8]# ./configure
  CMakehas bootstrapped.  Now run gmake.
  [root@Mysqlcmake-2.8.8]# gmake
  [root@Mysqlcmake-2.8.8]# gmake install
  [root@Mysqlapplication]# groupadd mysql
  [root@Mysqlapplication]# useradd mysql -s /sbin/nologin -M -g mysql
  [root@Mysqltools]# tar zxf mysql-5.5.32.tar.gz
  [root@Mysqltools]# cd mysql-5.5.32
  [root@Mysqlmysql-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成功
  [root@Mysqlmysql-5.5.32]# make
  [root@Mysqlmysql-5.5.32]# make install
  [root@Mysqlmysql-5.5.32]# ln -s /application/mysql-5.5.32//application/mysql
  [root@Mysqlmysql-5.5.32]# ll support-files/my*.cnf
  -rw-r--r--1 root root  4759 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 root  4733 Apr 25 18:19support-files/my-large.cnf
  -rw-r--r--1 root root  4744 Apr 25 18:19support-files/my-medium.cnf
  -rw-r--r--1 root root  2908 Apr 25 18:19support-files/my-small.cnf
  [root@Mysqlmysql-5.5.32]# cp support-files/my-small.cnf /etc/my.cnf
  [root@Mysqlmysql-5.5.32]# echo 'export PATH=/application/mysql/bin:$PATH'>>/etc/profile
  [root@Mysqlmysql-5.5.32]# tail -1 /etc/profile
  exportPATH=/application/mysql/bin:$PATH
  [root@Mysqlmysql-5.5.32]# source /etc/profile
  [root@Mysqlmysql-5.5.32]# echo $PATH
  /application/mysql/bin:/application/mysql/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
  [root@Mysqlmysql-5.5.32]# mkdir -p /application/mysql/data
  [root@Mysqlmysql-5.5.32]# chown -R mysql.mysql /application/mysql/*
  [root@Mysqlmysql-5.5.32]# chmod -R 1777 /tmp
  [root@Mysqlmysql-5.5.32]# /application/mysql/scripts/mysql_install_db--basedir=/application/mysql --datadir=/application/mysql/data--user=mysql
  [root@Mysqlmysql-5.5.32]# cp support-files/mysql.server /etc/init.d/mysqld
  [root@Mysqlmysql-5.5.32]# chmod 700 /etc/init.d/mysqld
  [root@Mysqlmysql-5.5.32]# chkconfig mysqld on
  [root@Mysqlmysql-5.5.32]# chkconfig --list mysqld
  mysqld          0:off   1:off  2: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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-619704-1-1.html 上篇帖子: mysql 5.6.33主从+主主 下篇帖子: MySQL 基本主从复制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表