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