centos7上cmake编译安装mysql-5.6.36.tar.gz

系统环境

  1. - 环境(安装前规划好主机名,mysql编译过程会用)
  2. [root@n1 mysql-5.6.36]# cat /etc/redhat-release
  3. CentOS Linux release 7.4.1708 (Core)
  4. - 关掉防火墙和selinux

cmake编译环境

  1. # cmake编译环境
  2. yum install -y gcc gcc-c++
  3. yum install -y cmake
  4. # mysql依赖
  5. yum install -y ncurses-devel libaio-devel

编译安装mysql-5.6.36.tar.gz

  1. - 下载解压
  2. cd /usr/local/src/
  3. wget -q http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz
  4. tar xf mysql-5.6.36.tar.gz
  5. - cmake进行编译,安装,创建软连接
  6. cd mysql-5.6.36
  7. cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.36 \
  8. -DMYSQL_DATADIR=/usr/local/mysql-5.6.36/data \
  9. -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.36/tmp/mysql.sock \
  10. -DDEFAULT_CHARSET=utf8 \
  11. -DDEFAULT_COLLATION=utf8_general_ci \
  12. -DWITH_EXTRA_CHARSETS=all \
  13. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  14. -DWITH_FEDERATED_STORAGE_ENGINE=1 \
  15. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  16. -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
  17. -DWITH_ZLIB=bundled \
  18. -DWITH_SSL=bundled \
  19. -DENABLED_LOCAL_INFILE=1 \
  20. -DWITH_EMBEDDED_SERVER=1 \
  21. -DENABLE_DOWNLOADS=1 \
  22. -DWITH_DEBUG=0
  23. make -j 4 && make install #这里我有4核,为了快一些
  24. ln -s /usr/local/mysql-5.6.36/ /usr/local/mysql

编译报错解决

  • cmake时候提示找不到cxx

mysql-5.6.27源码安装及错误解决办法

  1. compiler identification is unknown-- The CXX compiler identification is unknown
  1. yum install -y gcc gcc-c++
  2. rm -f CMakeCache.txt #干掉(一定要干掉)重新编译

善后mysql环境

  1. - 准备my.cnf
  2. \cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
  3. - 初始化db
  4. /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql
  5. - xx/tmp/mysql.sock,原因是5.6.36版本不会自动创建tmp目录
  6. mkdir /usr/local/mysql/tmp
  7. - 更改目录权限
  8. useradd -M -s /sbin/nologin -u 1000 mysql
  9. chown -R mysql.mysql /usr/local/mysql
  10. chown -R mysql.mysql /usr/local/mysql/
  11. - 开机启动
  12. cp support-files/mysql.server /etc/init.d/mysqld
  13. chmod 700 /etc/init.d/mysqld #使用这个脚本可以生成
  14. - PATH优化
  15. echo 'PATH=/usr/local/mysql/bin/:$PATH' >>/etc/profile
  16. tail -1 /etc/profile
  17. source /etc/profile
  18. echo $PATH
  19. mysql
  20. - 可能遇到的问题
  21. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql-5.6.36/tmp/mysql.sock' (2)
  22. 解决: /etc/init.d/mysqld 这种方式启动,可以生成mysql.sock,并且能成功启动
  23. - 设置root密码
  24. mysqladmin -u root password '123456'
  25. mysql -uroot -p123456
  26. - 优化数据库
  27. select user,host from mysql.user;
  28. drop user ''@'n1.ma.com';
  29. drop user ''@'localhost';
  30. drop user 'root'@'n1.ma.com';
  31. drop user 'root'@'::1';
  32. select user,host from mysql.user;
  33. drop database test;
  34. show databases;
  35. - 留下这两个即可
  36. mysql> select user,host from mysql.user;
  37. +------+-----------+
  38. | user | host |
  39. +------+-----------+
  40. | root | 127.0.0.1 |
  41. | root | localhost |
  42. +------+-----------+
  43. - 查看连接数-字符集-存储引擎
  44. mysql> show variables like "%max_con%";
  45. +---------------------------------------+-------+
  46. | Variable_name | Value |
  47. +---------------------------------------+-------+
  48. | max_connect_errors | 100 |
  49. | max_connections | 151 |
  50. | performance_schema_max_cond_classes | 80 |
  51. | performance_schema_max_cond_instances | 3504 |
  52. +---------------------------------------+-------+
  53. 4 rows in set (0.00 sec)
  54. mysql> show variables like "%char%";
  55. +--------------------------+-----------------------------------------+
  56. | Variable_name | Value |
  57. +--------------------------+-----------------------------------------+
  58. | character_set_client | utf8 |
  59. | character_set_connection | utf8 |
  60. | character_set_database | utf8 |
  61. | character_set_filesystem | binary |
  62. | character_set_results | utf8 |
  63. | character_set_server | utf8 |
  64. | character_set_system | utf8 |
  65. | character_sets_dir | /usr/local/mysql-5.6.36/share/charsets/ |
  66. +--------------------------+-----------------------------------------+
  67. 8 rows in set (0.00 sec)
  68. mysql> show variables like "%engine%";
  69. +----------------------------+--------+
  70. | Variable_name | Value |
  71. +----------------------------+--------+
  72. | default_storage_engine | InnoDB |
  73. | default_tmp_storage_engine | InnoDB |
  74. | storage_engine | InnoDB |
  75. +----------------------------+--------+
  76. 3 rows in set (0.00 sec)

小结

  1. - 初始化命令
  2. mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
  3. - 会提示设置密码的方法
  4. /usr/local/mysql/bin/mysqladmin -u root password 'new-password'
  5. /usr/local/mysql/bin/mysqladmin -u root -h n1.ma.com password 'new-password'
  6. - 会提示启动mysql方法
  7. cd . ; /usr/local/mysql/bin/mysqld_safe &

centos7上二进制安装mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

系统环境

  1. - 环境
  2. [root@n1 mysql-5.6.36]# cat /etc/redhat-release
  3. CentOS Linux release 7.4.1708 (Core)
  4. - 关掉防火墙和selinux

下载-安装-初始化(5.6版本二进制安装时候需要)

初始化mysql数据库提示缺少Data:dumper模块解决方法

  1. yum install autoconf -y
  1. - 下载
  2. cd /usr/local/src/
  3. wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
  4. - 解压-移动-软链接
  5. tar xf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
  6. mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql-5.7.17
  7. ln -s /usr/local/mysql-5.7.17 /usr/local/mysql
  8. - 添加mysql用户,并进行授权
  9. useradd -M -s /sbin/nologin -u 1000 mysql
  10. chown -R mysql.mysql /usr/local/mysql
  11. chown -R mysql.mysql /usr/local/mysql/
  12. - 初始化数据库
  13. /usr/local/mysql-5.7.17/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.17 --datadir=/usr/local/mysql-5.7.17/data
  14. #注意这里会初始化生成一个root的密码,后面需要改掉
  15. - 拷贝配置文件
  16. \cp /usr/local/mysql-5.7.17/support-files/my-default.cnf /etc/my.cnf
  17. - 启动(适用于centos6)
  18. \cp /usr/local/mysql-5.7.17/support-files/mysql.server /etc/init.d/mysqld
  19. /etc/init.d/mysqld start
  20. - 添加env
  21. echo 'PATH=/usr/local/mysql/bin/:$PATH' >>/etc/profile
  22. tail -1 /etc/profile
  23. source /etc/profile
  24. echo $PATH
  25. - 修改mysql密码
  26. [root@n1 ]# mysqladmin -uroot -p password 123456
  27. Enter password: 【输入初始化时生成的密码】
  28. mysqladmin: [Warning] Using a password on the command line interface can be insecure.
  29. Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

mysql日常维护

  1. 初始化db:
  2. (5.6)mysql_install_db:
  3. mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
  4. (5.7)mysqld:
  5. mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.17 --datadir=/usr/local/mysql-5.7.17/data
  6. mysqld_safe:
  7. 启动mysql(msyql.server --> mysql_safe --> mysqld): /usr/local/mysql/bin/mysqld_safe &
  8. 恢复密码: /usr/local/mysql/bin/mysqld_safe --skip-grant-table &
  9. mysqladmin
  10. 设置密码: /usr/local/mysql/bin/mysqladmin -u root password '123456';
  11. 修改密码: mysqladmin -uroot -p123456 password 'maotai123';
  12. (sql语句密码函数): update mysql.user set password=PASSWORD('新密码') where User='root'; flush privileges;
  13. 创建用户(指定密码)并授权
  14. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
  15. - 查帮助: help grant
  16. - 建库/建表/插数据
  17. - 查表结构
  18. desc student;
  19. show create table student;
  1. - 查看慢询开关
  2. show variables like '%slow%';
  3. [mysqld]
  4. Log_slow_queries = ON # 开启慢查询服务
  5. Log-slow-queries = /var/log/slowqueries.log # 慢查询日志存储路径。
  6. Long_query_time = 1 # 定义慢查询时间长度,默认为10

生产库全备/mysql库体积大小查看

yum安装mysql5.6

  1. - 安装mysql
  2. rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
  3. 修改mysql配置:
  4. [mysqld]
  5. default-storage-engine = innodb
  6. innodb_file_per_table
  7. collation-server = utf8_general_ci
  8. init-connect = 'SET NAMES utf8'
  9. character-set-server = utf8
  1. - 查看mysql版本:
  2. 方法1:
  3. ./mysqld -v
  4. 方法2:(3种)
  5. select version();
  6. show status;
  7. /s
  8. - mysql(5.6)编译参数:
  9. cat "/usr/local/mysql/bin/mysqlbug"|grep configure
  10. - 查看当前执行的sql
  11. mysql> show processlist;
  12. mysql> show full processlist;

参考

  1. docker run \
  2. -p 3306:3306 \
  3. -v /data/mysql:/var/lib/mysql \
  4. -v /etc/localtime:/etc/localtime \
  5. --name mysql5 \
  6. --restart=always \
  7. -e MYSQL_ROOT_PASSWORD=123456 \
  8. -d mysql:5.6.23 --character-set-server=utf8 --collation-server=utf8_general_ci

[sql]mysql5.6cmake安装/mysql5.7二进制安装的更多相关文章

  1. Mysql for Linux安装配置之——二进制安装

    1.准备及安装1)查看OS版本  # cat /etc/redhat-release  2)创建mysql组及用户  # groupadd mysql  # cat /etc/group|grep m ...

  2. Linux(CentOS7)下二进制安装MySQL5.7.26

    记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单 ...

  3. CentOS6+MySQL5.6二进制安装

    一般我们安装mysql采用二进制安装的方式就足以满足我们的生产环境了,不过需要我们配置my.cnf文件 从官网下载二进制MySQL,选择Linux-Generic,最后这两个是二进制包 http:// ...

  4. 编译安装和二进制安装mysql

    二进制安装mysql-5.6.46 mysql二进制安装,已经编译成二进制了,只需要做一些配置即可 [root@localhost ~]$ yum install autoconf libaio -y ...

  5. CentOS6.9安装MySQL(编译安装、二进制安装)

    目录 CentOS6.9安装MySQL Linux安装MySQL的4种方式: 1. 二进制方式 特点:不需要安装,解压即可使用,不能定制功能 2. 编译安装 特点:可定制,安装慢 5.5之前: ./c ...

  6. Mongodb - 二进制安装

    0.概述 mongodb版本:4.0.2 linux版本:redhat 6.5 安装方式:二进制安装 1.关闭防火墙 /etc/init.d/iptables status/etc/init.d/ip ...

  7. mongodb二进制安装与yum安装

    一.什么是mongodb MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当 ...

  8. 二进制安装k8s-单个master节点、两个node--修改版--有个错误:好多地方确少APISERVER

    centos7.4安装k8s-.11版本,二进制 安装 配置系统相关参数 如下操作在所有节点操作 # 临时禁用selinux # 永久关闭 修改/etc/sysconfig/selinux文件设置 s ...

  9. mysql5.6 通用二进制安装

    mysql5.6 通用二进制安装: #卸载原有的mysqlyum remove mysql*ls /etc/my.cnf*mv /etc/my.cnf* /tmp/ #安装依赖包yum install ...

随机推荐

  1. PHP中使用ActiveMQ实现消息队列

    前面我们已经学了怎样部署ActiveMQ. 我们知道通过ActiveMQ的一个管理后台能够查看任务队列. 今天 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...

  2. POJ 2186 强联通分量

    点击打开链接 题意:牛A喜欢牛B,若牛B喜欢牛C,则牛A喜欢牛C,问最后多少牛被其它全部牛喜欢 思路:用强联通分量进行缩点,最后形成的图是有向无环图DAG.而拓扑序的值为DAG的长度,则加一,可是最后 ...

  3. rhel7.x配置本地yum

    转载:http://www.mvpbang.com/articles/2017/12/22/1513948827684.html rhel7.x配置本地yum 环境: centos7.4 vmarew ...

  4. BigDecimal去除末尾多余的0

    Java有自带的 stripTrailingZeros() 方法用于去除末尾多余的0 BigDecimal num = new BigDecimal("100.000"); Big ...

  5. 远程阿里云window服务器报错身份验证错误

    整理文章,很久之前遇到的一个问题,一直呆在草稿箱,特发布出来,帮助可能遇到该问题的人 mstsc连接时报错如下 解决方法: 修改本地安全组策略[安全组  gpedit.msc]

  6. Docker运行python容器

    容器是镜像运行的实例,而镜像保存在仓库里,测试或者发布生产环境只需要pull下来即可,相对传统的应用部署,能很好的保持环境的一致,节省运维时间.最近公司内部的java和.net服务也已经全部容器化,实 ...

  7. cnblogs反对按钮点击测试

    点击反对或推荐有惊喜~

  8. POJ 2230 Watchcow (欧拉回路)

    Watchcow Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 5258   Accepted: 2206   Specia ...

  9. PowerDesigner之PDM(物理概念模型)各种属性建立如PK,AK等

    一.PDM概述 PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库. PDM中涉及到的基本概念包括: 表: 列: 视图: 主键: 候选键: 外键: 存 ...

  10. 【java】break outer,continue outer的使用

    break默认是结束当前循环,有时我们在使用循环时,想通过内层循环里的语句直接跳出外层循环,java提供了使用break直接跳出外层循环,此时需要在break后通过标签指定外层循环.java中的标签是 ...