MySQL5.7.26 源码编译安装
admin
2023-04-16 15:01:57
0

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 
             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:
             ...
             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) 

相关内容

热门资讯

今日重大消息“王子棋牌可以开挂... 有 亲,根据资深记者爆料王子棋牌是可以开挂的,确实有挂(咨询软件无需打开...
【第一财经】“至尊麻将是不是有... 家人们!今天小编来为大家解答至尊麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
我来教教您“新猴王拼三张到底有... 有 亲,根据资深记者爆料新猴王拼三张是可以开挂的,确实有挂(咨询软件无需...
终于懂了“天天微友辅助器?”(... 您好:天天微友这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
今日重大消息“闽游麻将怎么开挂... 您好:闽游麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
【今日要闻】“宁波游戏大厅有没... 家人们!今天小编来为大家解答宁波游戏大厅透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里...
玩家分享攻略“TT语音到底有挂... 家人们!今天小编来为大家解答TT语音透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
终于明白“瓦力棋牌真的有挂吗?... 家人们!今天小编来为大家解答瓦力棋牌透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很...
玩家最新攻略“九酷众娱炸/金/... 玩家最新攻略“九酷众娱炸/金/花辅助器?”(其实是有挂)您好,九酷众娱炸/金/花这个游戏其实有挂的,...
日媒炒作“台湾有事,美军放弃撤... 【环球时报报道 记者 郭媛丹】日本共同社27日报道称,因考虑台湾突发事态,美军修改了原先拟将驻冲绳海...