您好,登錄后才能下訂單哦!
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)
免責(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)容。