溫馨提示×

溫馨提示×

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

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

MySQL5.6源碼編譯安裝的流程

發(fā)布時間:2021-08-31 16:15:18 來源:億速云 閱讀:146 作者:chen 欄目:MySQL數(shù)據(jù)庫

本篇內(nèi)容主要講解“MySQL5.6源碼編譯安裝的流程”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MySQL5.6源碼編譯安裝的流程”吧!

(1) 關閉防火墻和Selinux
[root@localhost ~]# service iptables status
iptables: Firewall is not running.
[root@localhost ~]# cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
[root@localhost ~]# chkconfig iptables off

(2) 下載MySQL 5.6源碼包
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
下載完畢后,上傳源碼包到服務器

(3) 添加用戶和組
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -d /home/mysql -g mysql -m mysql
[root@localhost ~]# passwd mysql

配置環(huán)境變量
[root@localhost ~]# su - mysql
[mysql@localhost ~]$ vim .bash_profile 
[mysql@localhost ~]$ cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/mysql_software_56/bin

export PATH

(4) 創(chuàng)建相關目錄
創(chuàng)建軟件目錄
[root@localhost ~]# mkdir  /mysql_software_56

創(chuàng)建數(shù)據(jù)文件目錄和日志目錄
[root@localhost ~]# mkdir -p /my3306/data
[root@localhost ~]# mkdir -p /my3306/log/iblog
[root@localhost ~]# mkdir -p /my3306/log/binlog

創(chuàng)建存放Pid和臨時文件目錄
[root@localhost ~]# mkdir -p /my3306/run
[root@localhost ~]# mkdir -p /my3306/tmp

更改權限
[root@localhost ~]# chown -R mysql:mysql /my3306
[root@localhost ~]# chmod -R 755 /my3306

(5) 解壓MySQL 5.6安裝包并安裝cmake
[root@localhost ~]# cd /install/
[root@localhost install]# tar xvfz mysql-5.6.37.tar.gz

[root@localhost install]# yum install -y cmake gcc gcc-c++ ncurses-devel zlib libxml openssl

(6) 編譯并安裝
[root@localhost install]# cd mysql-5.6.37
[root@localhost mysql-5.6.37]# cmake . -DCMAKE_INSTALL_PREFIX=/mysql_software_56 \
> -DINSTALL_DATADIR=/my3306/data \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DEXTRA_CHARSETS=all \
> -DWITH_SSL=yes \
> -DWITH_EMBEDDED_SERVER=1 \
> -DWITH_MYISAM_STORAGE_ENGINE=1 \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DWITH_FEDERATED_STORAGE_ENGINE=1 \
> -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
> -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
> -DWITH_PARTITION_STORAGE_ENGINE=1 \
> -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
> -DMYSQL_UNIX_ADDR=/my3306/run/mysql.sock \
> -DMYSQL_TCP_PORT=3306 \
> -DSYSCONFDIR=/etc \
> -DENABLED_LOCAL_INFILE=ON \
> -DCOMPILATION_COMMENT='MySQL 5.6 production environment' \
> -DWITH_READLINE=ON

[root@localhost mysql-5.6.37]# make
[root@localhost mysql-5.6.37]# make install

(7) 配置MySQL參數(shù)文件
[root@localhost tmp]# cat /etc/my_5.6_3306.cnf 
[client]
port=3306
socket=/my3306/run/mysql.sock

[mysql]
pid_file=/my3306/run/mysqld.pid

[mysqld]
autocommit=1
general_log=off
explicit_defaults_for_timestamp=true

# system
basedir=/mysql_software_56
datadir=/my3306/data
max_allowed_packet=1g
max_connections=3000
max_user_connections=2800
open_files_limit=65535
pid_file=/my3306/run/mysqld.pid
port=3306
server_id=101
skip_name_resolve=ON
socket=/my3306/run/mysql.sock
tmpdir=/my3306/tmp

#binlog
log_bin=/my3306/log/binlog/binlog
binlog_cache_size=32768
binlog_format=row
expire_logs_days=7
log_slave_updates=ON
max_binlog_cache_size=2147483648
max_binlog_size=524288000
sync_binlog=100

#logging
log_error=/my3306/log/error.log
slow_query_log_file=/my3306/log/slow.log
log_queries_not_using_indexes=0
slow_query_log=1
log_slave_updates=ON
log_slow_admin_statements=1
long_query_time=1

#relay
relay_log=/my3306/log/relaylog
relay_log_index=/my3306/log/relay.index
relay_log_info_file=/my3306/log/relay-log.info

#slave
slave_load_tmpdir= /my3306/tmp
slave_skip_errors=OFF

#innodb
innodb_data_home_dir=/my3306/log/iblog
innodb_log_group_home_dir=/my3306/log/iblog
innodb_adaptive_flushing=ON
innodb_adaptive_hash_index=ON
innodb_autoinc_lock_mode=1
innodb_buffer_pool_instances=8

#default
innodb_change_buffering=inserts
innodb_checksums=ON
innodb_buffer_pool_size= 128M
innodb_data_file_path=ibdata1:32M;ibdata2:16M:autoextend
innodb_doublewrite=ON
innodb_file_format=Barracuda
innodb_file_per_table=ON
innodb_flush_log_at_trx_commit=1
innodb_flush_method=O_DIRECT
innodb_io_capacity=1000
innodb_lock_wait_timeout=10
innodb_log_buffer_size=100M
innodb_log_file_size=1048576000
innodb_log_files_in_group=4
innodb_max_dirty_pages_pct=60
innodb_open_files=60000
innodb_purge_threads=1
innodb_read_io_threads=4
innodb_stats_on_metadata=OFF
innodb_support_xa=ON
innodb_use_native_aio=OFF
innodb_write_io_threads=10

[mysqld_safe]
datadir=/my3306/data

(8) 初始化MySQL
[root@localhost mysql_software_56]# /mysql_software_56/scripts/mysql_install_db  --defaults-file=/etc/my_5.6_3306.cnf --datadir=/my3306/data/ --user=mysql
Installing MySQL system tables...2017-07-29 02:01:18 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2017-07-29 02:01:18 0 [Note] ./bin/mysqld (mysqld 5.6.37-log) starting as process 50198 ...

OK

Filling help tables...2017-07-29 02:03:47 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2017-07-29 02:03:47 0 [Note] ./bin/mysqld (mysqld 5.6.37-log) starting as process 50239 ...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

  /mysql_software_56/bin/mysqladmin -u root password 'new-password'
  /mysql_software_56/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

Alternatively you can run:

  /mysql_software_56/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

  cd . ; /mysql_software_56/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

  cd mysql-test ; perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

The latest information about MySQL is available on the web at

  http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

New default config file was created as ./my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings

WARNING: Default config file /etc/my.cnf exists on the system
This file will be read by default by the MySQL server
If you do not want to use this, either remove it, or use the
--defaults-file argument to mysqld_safe when starting the server

啟動數(shù)據(jù)庫
[root@localhost mysql_software_56]# /mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3306.cnf --user=mysql &
[1] 50284
[root@localhost mysql_software_56]# 170729 02:07:56 mysqld_safe Logging to '/my3306/log/error.log'.
170729 02:07:56 mysqld_safe Starting mysqld daemon with databases from /my3306/data

到此,相信大家對“MySQL5.6源碼編譯安裝的流程”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

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

AI