1. 程式人生 > >CentOS 6.8 下安裝mysql-5.6

CentOS 6.8 下安裝mysql-5.6

centos6.8 mysql 源碼

CentOS 6.8 下安裝mysql-5.6

安裝環境:

CentOS release 6.8 (Final)

percona-server-5.6.29-76.2

安裝依賴庫和工具

yum -y install gcc gcc-c++ libgcrypt openssl openssl098e openssl-devel ncurses ncurses-devel make cmake g++ bison ncurses-libs libaio unzip readline-devel

yum -y install wget iproute iotop mtr perf dstat iftop

添加mysql

用戶

[root@Paul ~]# groupadd -g 306 mysql

[root@Paul ~]# useradd -g 306 -u 306 -s/sbin/nologin -M mysql

添加數據目錄和軟件安裝目錄

[root@Paul ~]# mkdir /data/mysql –pv

[root@Paul ~]#mkdir /root/software

[root@Paul ~]# mkdir /usr/local/mysql

[root@Paul ~]# chown -R mysql.mysql /usr/local/mysql

編譯並安裝

[root@Paul ~]# cd /root/software

[root@Paul software]# wget

https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.29-76.2/source/tarball/percona-server-5.6.29-76.2.tar.gz

[root@Paul software]# tar xf percona-server-5.6.29-76.2.tar.gz

[root@Paul software]# cd percona-server-5.6.29-76.2

配置mysql預編譯參數

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #軟件安裝目錄

-DMYSQL_DATADIR=/data/mysql \ #數據目錄

-DSYSCONFDIR=/etc/my.cnf\ #配置文件

-DMYSQL_TCP_PORT=3306 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci -DENABLE_DTRACE=0\

-DWITH_EXTRA_CHARSETS=all

編譯、安裝

[root@Paul percona-server-5.6.29-76.2]# make

[root@Paul percona-server-5.6.29-76.2]# make install

修改屬組、屬主

[root@Paul local]# chown -R mysql.mysql /usr/local/mysql

[root@Paul ~]# chown -R mysql.mysql /data/mysql

初始化系統數據庫

[root@Paul mysql]#

/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql

--basedir=/usr/local/mysql

修改配置文件

[root@Paul ~]# vim /etc/my.cnf

[mysqld]

datadir=/data/mysql #數據目錄

user=mysql

log-bin=mysql-bin #log-bin文件存放目錄

basedir = /usr/local/mysql

character_set_server = utf8 #server級別字符集

default_storage_engine = InnoDB #默認存儲

innodb_buffer_pool_size = 4000M #主要作用是緩存innodb表的索引,數據,插入數據的 緩沖

explicit_defaults_for_timestamp = true #開啟查詢緩

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[client]

socket=/tmp/mysql.sock

配置mysqld服務

root@Paul ~]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@Paul ~]# chmod +x /etc/rc.d/init.d/mysqld

[root@Paul ~]# chkconfig --add mysqld

[root@Paul ~]# chkconfig mysqld on

[root@Paul ~]# echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf

[root@Paul ~]# ln -sv /usr/local/mysql/include /usr/include/mysqld

設置mysql環境變量

[root@Paul ~]# echo "export PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh

[root@Paul ~]# source /etc/profile.d/mysql.sh

配置幫助文檔

[root@Paul ~]# vim /etc/man.config

MANPATH /usr/local/mysql/man

[root@Paul ~]# service mysqld start

Starting MySQL (Percona Server). [ OK ]

現象

[root@Paul local]# mysql

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

解決辦法

root@Paul local]# vim /etc/my.cnf

[client]

socket=/data/mysql/mysql.sock


CentOS 6.8 下安裝mysql-5.6