Centos compilation and installation of mysql 5.6 and installation of multiple mysql instances, centosmysql
 
-- 1. Create a group and user for mysql
 
# useradd -M -s /sbin/nologin mysql
 
-- 2. Install the required library and Compiler
 
# yum install ncurses-devel openssl-devel cmake -y
 
-- 3. Extract
 
# tar zxvf mysql-5.6.35.tar.gz# cd mysql-5.6.35
 
-- 4. Compile and install
 
# cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DMYSQL_USER=mysql \-DWITH_DEBUG=0 \-DWITH_SSL=system# make# make install
 
-- 5. Copy the template as the configuration file
 
# cp support-files/my-default.cnf /etc/my.cnf
 
-- 6. Set mysql Permissions
 
# chown -R mysql.mysql /usr/local/mysql/
 
-- 7. initialize the mysql database
 
# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql# chown -R root /usr/local/mysql/# chown -R mysql /usr/local/mysql/data/
 
 
-- 8. Set mysql to start automatically
 
 
# cp support-files/mysql.server /etc/init.d/mysqld# chmod +x /etc/init.d/mysqld# chkconfig mysqld on
 
-- 9. Test and run mysql
 
#service mysqld start
 
-- 10. Modify the mysql administrator password
 
#/Usr/local/mysql/bin/mysqladmin-u root password 'password to be set'
 
-- 11. log on to mysql using a user
 
# /usr/local/mysql/bin/mysql -u root -p
 
-- 12. Add Environment Variables
 
# echo 'PATH=/usr/local/mysql/bin/:$PATH' >>/etc/profile# source /etc/profile
 
CentOS 6.5 minimal compilation and installation mysql 5.5.35 multi-instance Configuration
 
1. Disable the Firewall
 
1234567 [root@mysql ~]# service iptables stopiptables: Setting chains to policy ACCEPT: filter   [ OK ]iptables: Flushing firewall rules:       [ OK ]iptables: Unloading modules:        [ OK ][root@mysql ~]# chkconfig iptables off[root@mysql ~]# chkconfig iptables --listiptables  0:off 1:off 2:off 3:off 4:off 5:off 6:off
 
2. Disable selinux
 
12 [root@mysql ~]# setenforce 0[root@mysql ~]# vim /etc/sysconfig/selinux
 
Modify the following line;
 
SELINUX=disabled12 [root@mysql ~]# getenforce Permissive
 
3. Install mysql dependency packages and compilation tools;
 
1234 [root@mysql ~]# yum install libaio-devel -y[root@mysql ~]# yum install -y ncurses-devel[root@mysql ~]# yum install -y gcc gcc-c++ [root@mysql ~]# yum install -y cmake
 
4. Preparations before installation;
 
4.1 installation path:
 
1 [root@mysql ~]# mkdir /usr/local/mysql 
 
4.2 database path:
 
1 [root@mysql ~]# mkdir /data/mysql -p 
 
4.3 create users and user groups
 
12 [root@mysql ~]# groupadd mysql[root@mysql ~]# useradd -r -g mysql -s /bin/false mysql
 
4.4 grant the directory storage permission
 
1 [root@mysql ~]# chown mysql:mysql -R /data/mysql 
 
 
5. Compile and install mysql 5.5.35
 
1234567 [root@mysql ~]# yum install -y lrzszroot@mysql ~]# mkdir /package[root@mysql ~]# cd /package/[root@mysql package]# tar xf mysql-5.5.32.tar.gz [root@mysql package]# cd mysql-5.5.32[root@mysql mysql-5.5.32]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/ -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306[root@mysql mysql-5.5.32]# make && make install
 
6. Create a multi-instance database file storage location;
 
12345678 [root@mysql ~]# mkdir -p /data/{3306,3307}/data[root@mysql ~]# tree /data/data|-- 3306|  `-- data`-- 3307  `-- data4 directories, 0 files  
7. modify the configuration file (my. cnf) into the 3306 and 3307 directories respectively;
 
123456789 [root@mysql 3306]# vim my.cnf [client]port      = 3306socket     = /data/3306/mysql.sock[mysqld]port      = 3306socket     = /data/3306/mysql.sockdatadir     = /data/3306server-id    = 3306
 
8. initialize the database;
 
Note: Different Data Directories must be specified during database initialization.
 
123 [root@mysql mysql-5.5.32]# cd /usr/local/mysql/[root@mysql mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306[root@mysql mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307
 
9. Start Multiple instances. the startup script can be added to the boot auto-start file.
 
12 [root@mysql mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 >/dev/null &  [root@mysql mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 >/dev/null &
 
9.1 view the port;
 
12345678 [root@mysql mysql]# netstat -tunlpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address        Foreign Address       State    PID/Program name  tcp    0   0 0.0.0.0:3307        0.0.0.0:*          LISTEN   11621/mysqld    tcp    0   0 0.0.0.0:22         0.0.0.0:*          LISTEN   1266/sshd      tcp    0   0 0.0.0.0:3306        0.0.0.0:*          LISTEN   11338/mysqld    tcp    0   0 :::22            :::*            LISTEN   1266/sshd      udp    0   0 0.0.0.0:68         0.0.0.0:*                969/dhclient
 
10. log on to a multi-instance Database
 
12 [root@mysql mysql]# /usr/local/mysql/bin/mysql -u root -p -P 3306 -S /data/3306/mysql.sock[root@mysql mysql]# /usr/local/mysql/bin/mysql -u root -p -P 3307 -S /data/3307/mysql.sock
 
11. Disable mysql multi-instance mode
 
12 [root@mysql mysql]# /usr/local/mysql/bin/mysqladmin -u root -p -P 3306 -S /data/3306/mysql.sock shutdown  [root@mysql mysql]# /usr/local/mysql/bin/mysqladmin -u root -p -P 3307 -S /data/3307/mysql.sock shutdowncat /etc/my.cnf [mysqld1]datadir=/data/mysqlsocket=/tmp/mysql.sockuser=mysqlsymbolic-links=0skip-name-resolveserver-id=1221max_connections = 2000binlog-ignore-db=mysqlbinlog-ignore-db=testbinlog-ignore-db=information_schemabinlog-ignore-db=performance_schemainnodb_buffer_pool_size = 2Ginnodb_additional_mem_pool=16Minnodb_log_file_size=256Minnodb_flush_log_at_trx_commit=2character_set_server=utf8collation_server = utf8_general_cireplicate_ignore_db = mysqlslave-skip-errors=allrelay_log=/data/mysql/[mysqld2]port=3307server-id=1222log-error=/tmp/mysqld2.logdatadir=/data/mysql_livesocket=/tmp/mysql2.sockuser=mysqlsymbolic-links=0skip-name-resolvecharacter_set_server=utf8collation_server = utf8_general_cimax-connections=500default-storage-engine=INNODBinnodb_file_per_tablelog-bin=mysql-binrelay-log-info-repository=TABLEmaster-info-repository=TABLEexpire_logs_days=10binlog_format=ROWtransaction-isolation=READ-COMMITTEDbinlog-ignore-db=mysqlbinlog-ignore-db=testbinlog-ignore-db=information_schemabinlog-ignore-db=performance_schemaslow_query_log=TRUEslow_query_log_file=/tmp/mysqld_slow_query2.loglong_query_time=3replicate_ignore_db = mysqlslave-skip-errors=all[mysqld3]server-id=1223port=3308log-error=/tmp/mysqld3.logdatadir=/data/mysqlsocket=/tmp/mysql3.sockuser=mysqlsymbolic-links=0skip-name-resolvecharacter_set_server=utf8collation_server = utf8_general_cimax-connections=500default-storage-engine=INNODBinnodb_file_per_tablelog-bin=mysql-binrelay-log-info-repository=TABLEmaster-info-repository=TABLEexpire_logs_days=10binlog_format=ROWtransaction-isolation=READ-COMMITTEDbinlog-ignore-db=mysqlbinlog-ignore-db=testbinlog-ignore-db=information_schemabinlog-ignore-db=performance_schemaslow_query_log=TRUEslow_query_log_file=/tmp/mysqld_slow_query3.loglong_query_time=3replicate_ignore_db = mysqlslave-skip-errors=all[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/data/mysql/mysqld.pid