1. 程式人生 > >centOS6.4 原始碼安裝Mysql 5.6.39

centOS6.4 原始碼安裝Mysql 5.6.39

1、關閉防火牆

service iptables stop

chkconfig iptables off

setenforce 0

vi /etc/selinux/config

SELINUX=permissive

2、配置sysctl.conf

主要配置shmmax共享記憶體類引數,最大設定為50%-60%系統實體記憶體。

3、檢查作業系統是否安裝了mysql

如果需要刪除mysql,可以執行:

rpm -e mysql-libs-5.1.66-2.el6_3.x86_64

如果因為依賴刪不掉,則可以用yum來刪:

yum remove mysql-libs-5.1.66-2.el6_3.x86_64

再檢查一下mysql的安裝包是否存在:

4、下載mysql原始碼包

[[email protected] yum.repos.d]# mkdir /u01

[[email protected] yum.repos.d]# cd /u01

[[email protected] u01]#

配置ftp,上傳原始碼

a、配置源http://blog.csdn.net/kadwf123/article/details/78231694

b、配置ftp服務

yum -y install vsftpd

chkconfig vsftpd on

cd /etc/vsftpd

vi ftpusers

把root使用者註釋掉

vi user_list

把root使用者註釋掉

5、新增使用者和組

groupadd mysql

建立mysql組

建立mysql使用者

設定mysql使用者的密碼:

6、配置mysql環境變數

su - mysql

vi .bash_profile

修改path變數:

使之生效

7、建立目錄及授權

[[email protected] vsftpd]# mkdir -p /u01/my3306/data

[[email protected]

vsftpd]# mkdir -p /u01/my3306/log/iblog

[[email protected] vsftpd]# mkdir -p /u01/my3306/log/binlog

[[email protected] vsftpd]# mkdir -p /u01/my3306/run

[[email protected] vsftpd]# mkdir -p /u01/my3306/tmp

[[email protected] vsftpd]# 

授權:

[[email protected] vsftpd]# chown -R mysql:mysql /u01/my3306

[[email protected] vsftpd]# chmod -R 755 /u01/my3306

[[email protected] vsftpd]# 

8、解壓mysql5.6

tar -xzvf mysql-5.6.39.tar.gz

9、配置yum源,安裝cmake

yum install -y  cmake gcc gcc-c++ ncurses-devel bison zlib libxml openssl openssl-devel ncurses

安裝上面的所有的依賴包,確保安裝成功。

10、編譯並安裝

進入mysql原始碼包的解壓目錄

執行如下命令:

cmake \

-DCMAKE_INSTALL_PREFIX=/u01/my3306 \

-DINSTALL_DATADIR=/u01/my3306/data  \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_SSL=yes \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DMYSQL_UNIX_ADDR=/u01/my3306/run/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DSYSCONFDIR=/etc \

-DWITH_READLINE=on

失敗,老是報錯:
CMake Error at cmake/ssl.cmake:167 (FILE):
  file STRINGS file
  "/u01/mysql-5.6.39/OPENSSL_INCLUDE_DIR-NOTFOUND/openssl/opensslv.h" cannot
  be read.
Call Stack (most recent call first):
  CMakeLists.txt:446 (MYSQL_CHECK_SSL)


-- OPENSSL_INCLUDE_DIR = OPENSSL_INCLUDE_DIR-NOTFOUND
-- OPENSSL_LIBRARY = OPENSSL_LIBRARY-NOTFOUND
-- CRYPTO_LIBRARY = CRYPTO_LIBRARY-NOTFOUND
-- OPENSSL_MAJOR_VERSION = 
CMake Error at cmake/ssl.cmake:247 (MESSAGE):
  Cannot find appropriate system libraries for SSL.  Make sure you've
  specified a supported SSL version.  Consult the documentation for WITH_SSL
  alternatives
Call Stack (most recent call first):
  CMakeLists.txt:446 (MYSQL_CHECK_SSL)


-- Using cmake version 2.8.12.2
-- Not building NDB
-- Library mysqlclient depends on OSLIBS -lpthread;m;rt;dl
-- Googletest was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build required components from source.
-- If you are inside a firewall, you may need to use an https proxy: export https_proxy=http://example.com:80
-- Library mysqlserver depends on OSLIBS -lpthread;m;rt;crypt;dl
-- Skipping deb packaging on unsupported platform .
-- CMAKE_BUILD_TYPE: RelWithDebInfo
-- COMPILE_DEFINITIONS: HAVE_CONFIG_H
-- CMAKE_C_FLAGS:  -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement
-- CMAKE_CXX_FLAGS:  -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter
-- CMAKE_C_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF
-- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF
-- Configuring incomplete, errors occurred!
See also "/u01/mysql-5.6.39/CMakeFiles/CMakeOutput.log".
See also "/u01/mysql-5.6.39/CMakeFiles/CMakeError.log".
[[email protected] mysql-5.6.39]# ll
注意這個地方:

懷疑是openssl導致的,但是我的openssl檢查卻裝了。

沒辦法,下一個在裝,然後指定:

-DOPENSSL_ROOT_DIR=/usr/local/openssl \

-DOPENSSL_LIBRARIES=/usr/local/openssl/lib \

這兩項。完整命令如下:

cmake \

-DCMAKE_INSTALL_PREFIX=/u01/my3306 \

-DMYSQL_DATADIR=/u01/my3306/data  \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_SSL=yes \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DMYSQL_UNIX_ADDR=/u01/my3306/run/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DSYSCONFDIR=/etc \

-DOPENSSL_ROOT_DIR=/usr/local/openssl \

-DOPENSSL_LIBRARIES=/usr/local/openssl/lib \

-DWITH_READLINE=on

下面說明使用二進位制包安裝openssl:

b、把安裝檔案openssl-1.0.2n.tar.gz上傳到虛擬機器。

c、tar -xzvf openssl-1.0.2n.tar.gz

d、cd openssl-1.0.2n

e、執行命令:./config --prefix=/usr/local/openssl -fPIC no-gost no-shared no-zlib

注意,如果不指定 -fPIC 選項,可能會出現如下錯誤:

Scanning dependencies of target clientlib
[ 82%] Building C object libmysql/CMakeFiles/clientlib.dir/get_password.c.o
[ 83%] Building C object libmysql/CMakeFiles/clientlib.dir/libmysql.c.o
[ 83%] Building C object libmysql/CMakeFiles/clientlib.dir/errmsg.c.o
[ 83%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql-common/client.c.o
[ 83%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql-common/my_time.c.o
[ 83%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql-common/client_plugin.c.o
[ 83%] Building CXX object libmysql/CMakeFiles/clientlib.dir/__/sql-common/client_authentication.cc.o
[ 83%] Building CXX object libmysql/CMakeFiles/clientlib.dir/__/sql/net_serv.cc.o
[ 83%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql-common/pack.c.o
[ 83%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql/password.c.o
Linking CXX static library libclientlib.a
[ 83%] Built target clientlib
Scanning dependencies of target libmysql
[ 83%] Building CXX object libmysql/CMakeFiles/libmysql.dir/libmysql_exports_file.cc.o
Linking CXX shared library libmysqlclient.so
/usr/bin/ld: /usr/local/openssl/lib/libssl.a(t1_srvr.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/openssl/lib/libssl.a: could not read symbols: Bad value
collect2: ld 返回 1
make[2]: *** [libmysql/libmysqlclient.so.18.1.0] 錯誤 1
make[1]: *** [libmysql/CMakeFiles/libmysql.dir/all] 錯誤 2
make: *** [all] 錯誤 2
[[email protected] mysql-5.6.39]# 

主要注意:

f、執行命令:make depend

g、執行命令:./config -t

h、執行make,編譯openssl。注意執行make要有gcc編譯器。

i、執行make install進行安裝。

j、執行cd /usr/local

k、執行ldd /usr/local/openssl/bin/openssl

l、配置環境變數:PATH=/usr/local/openssl/bin:$PATH:$HOME/bin

m、使環境變數生效source /root/.bash_profile

n、which openssl

o、檢視版本:openssl version

然後就可以執行cmake成功了:

多次cmake需要刪除CMakeCache.txt 檔案

cd /u01/mysql-5.6.39/

rm -f CMakeCache.txt

下面直接進行make編譯:

make

這條命令執行的時間比較長,前臺一直會輸出make的進度:

然後還需要執行make install安裝到指定目錄/u01/my3306中。

11、mysql引數配置

把my.cnf引數檔案直接傳到/u01/my3306/目錄下面去。

也可以直接建一個my.cnf,內容如下:

[client]
port=3306
socket=/u01/my3306/run/mysql.sock

[mysql]
#pid-file=/u01/my3306/run/mysqld.pid

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

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

#binlog
log_bin=/u01/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=/u01/my3306/log/error.log
slow_query_log_file=/u01/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=/u01/my3306/log/relaylog
relay_log_index=/u01/my3306/log/relay.index
relay_log_info_file=/u01/my3306/log/relay-log.info

#slave
slave_load_tmpdir=/u01/my3306/tmp
slave_skip_errors=OFF


#innodb
innodb_data_home_dir=/u01/my3306/log/iblog
innodb_log_group_home_dir=/u01/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=67108864
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=/u01/my3306/data

然後把/u01/my3306目錄屬主改成mysql

chown -R mysql:mysql /u01/my3306

12、初始化mysql指令碼

cd /u01/my3306/scripts

./mysql_install_db --help

./scripts/mysql_install_db --defaults-file=/u01/my3306/my.cnf --datadir=/u01/my3306/data --user=mysql

注意此命令要在/u01/my3306目錄下執行。

13、啟動mysql

[[email protected] bin]$ pwd

/u01/my3306/bin

[[email protected] bin]$ ./mysqld_safe --defaults-file=/u01/my3306/my.cnf --user=mysql &

檢查mysql程序:

14、登入mysql

登入mysql

相關推薦

centOS6.4 原始碼安裝Mysql 5.6.39

1、關閉防火牆 service iptables stop chkconfig iptables off setenforce 0 vi /etc/selinux/config SELINUX=permissive 2、配置sysctl.c

centos6.8 yum安裝mysql 5.6

centos6.8 yum安裝mysql 5.6一、檢查系統是否安裝其他版本的MYSQL數據 yum list installed | grep mysql yum -y remove mysql-libs.x86_64 二、安裝及配置 wget http://repo.mysql.com/mysql-co

CentOS6.9上安裝mysql-5.6.36

tmp event 包名 conf cli group tor 進制 ins 本文參考自博客園,鳴謝原作者。 1、準備數據存放的文件系統 新建一個邏輯卷,並將其掛載至特定目錄即可。這裏不再給出過程。 這裏假設其邏輯卷的掛載目錄為/data,而後需要創建/data/mysql

Centos7.4安裝mysql-5.6.41

mys 但是 啟動mysql ann node 連接 rpm owin pack Centos7.4下安裝mysql-5.6.41二進制包 1、下載mkdir /data/sqlcd /data/sql wget https://cdn.mysql.com//Downloa

Linux原始碼安裝mysql 5.6.22 (cmake編譯)

目標系統CentOS6.5 64位 原始碼包位置/usr/local/src/mysql-5.6.22.tar.gz 以下步驟: 1、cd /usr/local/src 2、tar -zxvf mysql-5.6.22.tar.gz 3、cd mysql-5.6.22 4、

centos6.9編譯安裝mysql-5.6.36

一 安裝相關軟體包[[email protected] ~]# yum -y install ncureses-devel libaio-devel[[email protected] tools]# yum install cmake –y 建立mysql執行使用者[[emai

centos6.4安裝Mycat-5.6.29-mycat-1.6-RELEASE-20161028204710

Mycat下載可以到官網下載也可以到github上下載 下載路徑: Mycat安裝 MyCat安裝,需要安裝jdk 上傳並解壓 把MyCat的壓縮包上傳到linux伺服器,並且解壓 安裝步驟 我的安裝在/usr/local 首先把你的進入你MyCat壓

原始碼編譯安裝MySQL-5.6/mysql-5.6.39------踩了無數坑,重灌了十幾次伺服器才會的,不容易啊!

1.切換到src目錄 cd /usr/local/src/   2. 下載mysql免編譯二進位制包  免編譯的mysql二進位制包5.6原始碼包: wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.3

centos6.4 使用yum 軟體 安裝mysql 5.6 詳細教程

目錄 yum 安裝 mysql 安裝,遠端登入,設定utf-8編碼 1. yum 安裝 centos 中安裝yum 軟體 請參考文章:  https://blog.csdn.net/py_tamir/article/details/80962182

linux CentOS6.5 yum安裝mysql 5.6

linux centos6.5 yum安裝mysql 5.6直接按步驟安裝# wget # rpm -ivh mysql-community-release-el6-5.noarch.rpm [[email protected]/* */ ~]# yum repolist all | grep

CentOS6.8 安裝 mysql 5.6

mysqld root用戶 tar mysql56 無法執行 lease name sql var 安裝前的準備: 1、確認是否安裝過mysql: yum list installed | grep mysql 2、刪除系統自帶的mysql及

CentOs下mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz壓縮包的安裝

sorted sql mbo blog 密碼 回車 安裝mysql 下載安裝 window 之前寫過一篇mysql在windows下的安裝(猛擊這兒),linux下用的比較少,最近切換到linux服務器了,發行mysql安裝和windows下有所不同,只記錄壓縮包方式安裝,

Centos6快速安裝mysql 5.6

linux一、檢查系統是否安裝其他版本的MYSQL數據[root@msyql-01 ~]# yum list installed | grep mysqlmysql-libs.x86_64 5.1.73-8.el6_8 @anaconda-CentOS-201703281317.x86_64/6

CentOS 7 安裝 MySQL 5.6.4 -- 通過二進位制包方式安裝

一、檢視系統已經安裝的mysql資料庫 1.檢視系統是否已經安裝了 mariadb [[email protected] ~]$ rpm -qa |grep mariadb mariadb-libs-5.5.52-1.el7.x86_64 2.檢視是否已經存在配置檔案 m

CentOS 6.4下編譯安裝MySQL 5.6.14

概述: CentOS 6.4下通過yum安裝的MySQL是5.1版的,比較老,所以就想通過原始碼安裝高版本的5.6.14。 正文: 一:解除安裝舊版本 使用下面的命令檢查是否安裝有MySQL Server rpm -qa | grep mysql 有的話通過下面的命令來解除安裝掉 rpm -e

Centos linux安裝MySQL-5.6.4

CentOS6 安裝MySQL5.6.4 1.下載MySQL 我下載的版本:mysql-5.6.4.tar.gz 2.安裝之前先解除安裝CentOS自帶的MySQL [[email protected] ~]# yum remove mysql 從共享目錄移至

CentOS6.5下編譯安裝mysql-5.6.27

MySQL的安裝分為三種: 1、RPM包安裝;(MySQL-5.6.27-1.linux_glibc2.5.i386.rpm-bundle.tar) 2、二進位制包安裝;(mysql-5.6.27-linux-glibc2.5-i686.tar.gz) 3、原始碼安裝。 (

linux CentOS6 yum安裝mysql 5.6

原文連結  https://www.cnblogs.com/renjidong/p/7047396.html 1.新開的雲伺服器,需要檢測系統是否自帶安裝mysql # yum list installed | grep mysql 2.如果發現有系統自帶mysql,果斷這麼

CentOS6.5下編譯安裝MySQL 5.6.16【詳細教程】

登入mysql mysql -uroot -p 輸入密碼: #建立普通mysql使用者 CREATE USER 'cwtcn'@'localhost' IDENTIFIED BY 'cwtcn'; #建立資料庫 CREATE DATABASE IF NOT EXISTS`cwtcn_offset` D

CentOS6.5下二進位制安裝mysql-5.6.27

MySQL的安裝分為三種:1、RPM包安裝;2、二進位制包安裝;3、原始碼安裝。 第一種方式比較簡單,直接RPM包安裝就OK了,或者通過yum源來安裝,而第三種方式比較複雜。 一般專案中使用比較多的是通過二進位制包來安裝,這種安裝方式可以根據企業的不同需求進行相關的自定義