一、添加mysql用戶mysql
chattr -i /etc/gshadow /etc/shadow /etc/passwd /etc/group /etc/gshadow- /etc/shadow- /etc/passwd- /etc/group- groupadd mysql useradd -r -g mysql mysql chattr +i /etc/gshadow /etc/shadow /etc/passwd /etc/group /etc/gshadow- /etc/shadow- /etc/passwd- /etc/group-
二、安裝依賴包c++
yum -y install gcc gcc-c++ cmake perl-DBD-MySQL perl-DBI bison-devel ncurses-devel openssl-devel glibc readline-devel openssl openssl-devel ncurses ncurses-devel jemalloc-devel jemalloc
三、安裝源碼包sql
wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.41.tar.gz tar -zxvf mysql-5.6.41.tar.gz cd mysql-5.6.41 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDOWNLOAD_BOOST=1 -DWITH_BOOST=boost_1_59_0 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_DEBUG=0 -DWITH_EMBEDDED_SERVER=0 -DMYSQL_USER=mysql cpu_num=`cat /proc/cpuinfo | grep processor | wc -l` make -j $cpu_num make install 注意:編譯完成後,全部的mysql相關文件都存放在/usr/local/mysql目錄下 ##my.cnf配置文件 vim /etc/my.cnf ####Tunning [client] port = 3306 socket = /data/mysql/mysql.sock [mysqld] port = 3306 socket = /data/mysql/mysql.sock basedir = /usr/local/mysql datadir = /data/mysql sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #### Network#### connect_timeout = 60 wait_timeout = 28800 max_connections = 4096 max_allowed_packet = 64M max_connect_errors = 1000 wait_timeout=600 skip-name-resolve max_prepared_stmt_count=1000000 ### For semi_sync#### #rpl_semi_sync_master_enabled = 1 #rpl_semi_sync_master_timeout = 3000 # 1 second #### limits#### tmp_table_size = 512M max_heap_table_size = 256M #table_cache = 512 query_cache_limit = 1M query_cache_size = 128M join_buffer_size = 256k read_buffer_size = 256k read_rnd_buffer_size= 512k skip-external-locking key_buffer_size = 128M table_open_cache = 4096 sort_buffer_size = 512K net_buffer_length = 8K myisam_sort_buffer_size = 8M thread_concurrency = 64 thread_cache_size =32 #### logs#### log_error = /var/log/mysql/mysql-error.log slow_query_log_file = /var/log/mysql/mysql-slow.log slow_query_log = 1 long_query_time = 2 binlog_format = mixed log-bin = mysql-bin expire_logs_days = 5 relay-log = relay-log log-slave-updates #### replicate### server-id = 6 replicate-ignore-db = mysql,information_schema sync_binlog = 1 #### innodb#### innodb_data_home_dir = /data/mysql innodb_log_group_home_dir = /data/mysql innodb_file_per_table = 1 innodb_status_file = 1 innodb_additional_mem_pool_size = 128M #%70~80% physical memory innodb_buffer_pool_size = 32G innodb_flush_method = O_DIRECT innodb_flush_log_at_trx_commit = 1 innodb_support_xa = 1 innodb_lock_wait_timeout = 50 innodb_data_file_path = ibdata1:128M:autoextend innodb_log_buffer_size = 128M innodb_log_file_size = 512M [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout
四、配置mysql啓動腳本vim
###配置myql隨機啓動 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld sed -i 's#basedir=$#basedir=/usr/local/mysql#g' /etc/init.d/mysqld sed -i 's#datadir=$#datadir=/data/mysql#g' /etc/init.d/mysqld chmod +x /etc/init.d/mysqld
五、配置執行文件路徑c#
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bashrc source ~/.bashrc
六、初始化mysqlbash
mkdir -p /data/mysql/ ln -s /data/mysql/ /usr/local/mysql/data chown -R mysql:mysql /data/mysql/ chown -R mysql:mysql /usr/local/mysql /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
七、啓動mysqlsocket
/etc/init.d/mysqld start /etc/init.d/mysqld stop chkconfig mysqld on