溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL5.7.26 源碼編譯安裝

發(fā)布時間:2020-07-24 18:46:30 來源:網(wǎng)絡(luò) 閱讀:1544 作者:xkyang 欄目:MySQL數(shù)據(jù)庫

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庫是必需的,編譯比較耗內(nèi)存和時間,內(nèi)存要求至少一個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.創(chuàng)建簡易 /etc/my.cnf 后續(xù)補充
[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.初始化數(shù)據(jù)庫, –initialize 表示默認(rèn)生成一個安全的密碼,–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.啟動服務(wù)
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 #調(diào)試
chown mysql.mysql debug.file
11.啟動調(diào)試環(huán)境

        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) 
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI