iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL5.7.26 源码编译安装
  • 422
分享到

MySQL5.7.26 源码编译安装

2024-04-02 19:04:59 422人浏览 独家记忆
摘要

1.安装依赖组件yum -y install GCc gcc-c++ pcre pcre-devel openssl openssl-devel yum -y install zlib zlib-devel

1.安装依赖组件
yum -y install GCc gcc-c++ pcre pcre-devel openssl openssl-devel
yum -y install zlib zlib-devel cmake ncurses ncurses-devel bison bison-devel
如下的几个依赖在Centos7中需要安装,CentOS6不需要
yum -y install perl perl-devel autoconf

2.下载解压源码包(包括boost)
tar xzf Mysql-boost-5.7.26.tar.gz

3.第一次安装需要添加mysql用户
useradd -s /sbin/nologin -M mysql

4.从MySQL 5.7.5开始Boost库是必需的,编译比较耗内存和时间,内存要求至少一个G
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/3306 \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITioN_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_ARCHive_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql3306.sock \
-DMYSQL_tcp_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DMYSQL_USER=mysql \
-DWITH_BINLOG_PREALLOC=ON \
-DWITH_BOOST=boost \
-DWITH_DEBUG=1

make && make install
[ 24%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/row/row0log.cc.o
[ 24%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/row/row0purge.cc.o
[ 24%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/row/row0row.cc.o
[ 24%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/row/row0sel.cc.o
[ 24%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/row/row0trunc.cc.o
[ 24%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/row/row0uins.cc.o
[ 24%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/row/row0umod.cc.o
[ 24%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/row/row0undo.cc.o
[ 24%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/row/row0upd.cc.o
[ 24%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/row/row0quiesce.cc.o

5.创建简易 /etc/my.cnf 后续补充
[client]
no-auto-rehash
default-character-set=utf8mb4
#passWord = your_password
port = 3306
Socket = /tmp/mysql3306.sock

    [mysqld]
    character-set-server=utf8mb4
    collation-server=utf8mb4_general_ci
    basedir=/usr/local/mysql/
    datadir=/data/mysql/3306/
    socket=/tmp/mysql3306.sock

    server-id = 1102200
    log-bin=mysql_binlog
    binlog_fORMat=row
    log_slave_updates = 1

    skip_name_resolve = ON
    innodb_file_per_table = ON
    lower_case_table_names=1 
    max_allowed_packet = 1M
    table_open_cache = 512
    sort_buffer_size = 2M
    read_buffer_size = 2M
    read_rnd_buffer_size = 8M

    [mysqld_safe]
    log-error=/data/mysql/3306/mysqld.log
    pid-file=/data/mysql/3306/mysqld.pid

    [mysqldump]
    quick
    max_allowed_packet = 16M

    [mysqlhotcopy]
    interactive-timeout

6.加入守护进程
cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
chkconfig mysqld on
7.初始化数据库, –initialize 表示默认生成一个安全的密码,–initialize-insecure 表示不生成密码
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3306/
2019-07-15T03:46:38.859798Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-07-15T03:46:39.250281Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-07-15T03:46:39.410341Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-07-15T03:46:39.483526Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 26fabfb6-a6b3-11e9-8f70-fa163efdf571.
2019-07-15T03:46:39.485233Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-07-15T03:46:39.486976Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

8.启动服务
service mysqld start
Starting MySQL.Logging to '/data/mysql/3306/mysqld.log'.
SUCCESS!
9.第一次登陆不需要密码,回车即可
mysql -u root -p
set password for root@localhost = password('root'); #修改密码

10.gdb
cat debug.file
break main #打断点
run --defaults-file=/etc/my.cnf --user=mysql --gdb #调试
chown mysql.mysql debug.file
11.启动调试环境

        gdb -x /data/mysql/3306/debug.file /usr/local/mysql/bin/mysqld
             GNU gdb (GDB) Red Hat Enterprise linux 7.6.1-110.el7
             Copyright (C) 2013 Free Software Foundation, Inc.
             License GPLv3+: GNU GPL version 3 or later <Http://gnu.org/licenses/gpl.html>
             This is free software: you are free to change and Redistribute it.
             There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
             and "show warranty" for details.
             This GDB was configured as "x86_64-redhat-linux-gnu".
             For bug reporting instructions, please see:
             <http://www.gnu.org/software/gdb/bugs/>...
             Reading symbols from /usr/local/mysql/bin/mysqld...done.
             Breakpoint 1 at 0xea031c: file /usr/local/mysql-5.7.26/sql/main.cc, line 25.
             [Thread debugging using libthread_db enabled]
             Using host libthread_db library "/lib64/libthread_db.so.1".

             Breakpoint 1, main (argc=4, argv=0x7fffffffe538) at /usr/local/mysql-5.7.26/sql/main.cc:25
             25   return mysqld_main(argc, argv);
             Missing separate debuginfos, use: debuginfo-install glibc-2.17-222.el7.x86_64 libgcc-4.8.5-28.el7_5.1.x86_64 libstdc++-4.8.5-28.el7_5.1.x86_64 nss-softokn-freebl-3.34.0-2.el7.x86_64
             (gdb) 
您可能感兴趣的文档:

--结束END--

本文标题: MySQL5.7.26 源码编译安装

本文链接: https://www.lsjlt.com/news/43506.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么显示表的字段
    如何显示 oracle 表的字段 在 Oracle 数据库中,可以使用 DESC 命令显示表的字段。 语法: DESC table_name 参数: table_name:要显示字段的表...
    99+
    2024-05-14
    oracle
  • oracle怎么看所有的表
    在 oracle 数据库中查看所有表的步骤:连接到数据库运行查询:select table_name from user_tables; 如何使用 Oracle 查看所有表 ...
    99+
    2024-05-14
    oracle
  • oracle怎么显示行数
    如何使用 oracle 显示行数 在 Oracle 数据库中,有两种主要方法可以显示行数: 1. 使用 COUNT 函数 SELECT COUNT(*) FROM table_n...
    99+
    2024-05-14
    oracle
  • oracle怎么显示百分比
    oracle中显示百分比的方法有:使用百分号“%”;使用to_char()函数;使用format()函数(oracle 18c及更高版本);创建自定义函数。 Oracle 显...
    99+
    2024-05-14
    oracle
  • oracle怎么删除列
    oracle 中删除列的方法有两种:1)使用 alter table table_name drop column column_name 语句;2)使用 drop colum...
    99+
    2024-05-14
    oracle
  • sql怎么查看表的索引
    通过查询系统表,可以获取表的索引信息,包括索引名称、是否唯一、索引类型、索引列和行数。常用系统表有:mysql 的 information_schema.statistics、postg...
    99+
    2024-05-14
    mysql oracle
  • sql怎么查看索引
    您可以使用 sql 通过以下方法查看索引:show indexes 语句:显示表中定义的索引列表及其信息。explain 语句:显示查询计划,其中包含用于执行查询的索引。informat...
    99+
    2024-05-14
  • sql怎么查看存储过程
    如何查看 sql 存储过程的源代码:使用 show create procedure 语句直接获取创建脚本。查询 information_schema.routines 表的 routi...
    99+
    2024-05-14
  • sql怎么查看视图表
    要查看视图表,可以使用以下步骤:使用 select 语句获取视图中的数据。使用 desc 语句查看视图的架构。使用 explain 语句分析视图的执行计划。使用 dbms 提供...
    99+
    2024-05-14
    oracle python
  • sql怎么查看创建的视图
    可以通过sql查询查看已创建的视图,具体步骤包括:连接到数据库并执行查询select * from information_schema.views;查询结果将显示视图的名称、...
    99+
    2024-05-14
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作