大環境下MySQL5.6源碼安裝實戰一步步教你 CentOS6.5_64bit下編譯安裝MySQL-5.6.23@guoyJoe,centos6.5mysql5.6

來源:互聯網
上載者:User

大環境下MySQL5.6源碼安裝實戰一步步教你 CentOS6.5_64bit下編譯安裝MySQL-5.6.23@guoyJoe,centos6.5mysql5.6

l轉載請註明出處:http://blog.csdn.net/guoyjoe/article/details/44813039

一、關閉防火牆

chkconfig iptables off service iptables stop 

二、檢查作業系統上是否安裝了MySQL
[root@mydb1 backup]# rpm -qa |grep mysql
qt-mysql-4.6.2-26.el6_4.x86_64
mysql-5.1.71-1.el6.x86_64
mysql-server-5.1.71-1.el6.x86_64
mysql-devel-5.1.71-1.el6.x86_64
mysql-libs-5.1.71-1.el6.x86_64


三、刪除MyQL(redhat6.3伺服器內建的mysql-libs是mysql-libs-5.1.61-4.el6.x86_64,可能會和高版本的mysql-libs有衝突)
yum remove mysql-libs


四、確定MySQL相關包徹底刪除
[root@mydb1 backup]# rpm -qa |grep mysql


五、下載mysql源碼包,mysql-5.6.23.tar.gz 
下載時注意別選成其他的linux安裝包,不然編譯肯定報錯。選擇平台的下拉式清單裡選擇 Source Code,Select Platform: Source Code ,
下載 Generic Linux (Architecture Independent), Compressed TAR Archive。


六、添加使用者和組:

groupadd  mysql #增加使用者組useradd -d /home/mysql -g mysql mysql


七、配MySQL環境變數
su - mysql
vi .bash_profile
PATH=$PATH:$HOME/bin:/u01/my3306/bin
source .bash_profile


八、建立目錄及授權

mkdir -p /u01/my3306/datamkdir -p /u01/my3306/log/iblogmkdir -p /u01/my3306/log/binlogmkdir -p /u01/my3306/log/relaylogmkdir -p /u01/my3306/runmkdir -p /u01/my3306/tmpchown -R mysql:mysql /u01/my3306chmod -R 777 /u01/my3306

九、解壓
tar -zxvf mysql-5.6.23.tar.gz 
cd mysql-5.6.23


十、編譯並安裝

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=onmakemake install

十一、參數配置/u01/my3306/my.cnf

[client]port=3306socket=/u01/my3306/mysql.sock[mysql]pid_file=/u01/my3306/run/mysqld.pid[mysqld]# disable autocommitautocommit=0general_log=offexplicit_defaults_for_timestamp=truesha256_password_private_key_path=/u01/my3306/mykey.pemsha256_password_public_key_path=/u01/my3306/mykey.pub# systembasedir=/u01/my3306datadir=/u01/my3306/datamax_allowed_packet=134217728max_connections=8192max_user_connections=8000open_files_limit=65535pid_file=/u01/my3306/run/mysqld.pidport=3306server_id=101skip_name_resolve=ONsocket=/u01/my3306/run/mysql.socktmpdir=/u01/my3306/tmp#binlog#log-bin=/u01/my3306/log/binloglog_bin=/u01/my3306/log/binlog/binlogbinlog_cache_size=32768binlog_format=rowexpire_logs_days=7log_slave_updates=ONmax_binlog_cache_size=2147483648max_binlog_size=524288000sync_binlog=100#logginglog_error=/u01/my3306/log/alert.logslow_query_log_file=/u01/my3306/log/slow.loglog_queries_not_using_indexes=1slow_query_log=1log_slave_updates=ONlog_slow_admin_statements=1long_query_time=1#relayrelay_log=/u01/my3306/log/relaylogrelay_log_index=/u01/my3306/log/relay.indexrelay_log_info_file=/u01/my3306/log/relay-log.info#slaveslave_load_tmpdir=/u01/my3306/tmpslave_skip_errors=OFF#innodbinnodb_data_home_dir=/u01/my3306/log/ibloginnodb_log_group_home_dir=/u01/my3306/log/ibloginnodb_adaptive_flushing=ONinnodb_adaptive_hash_index=ONinnodb_autoinc_lock_mode=1innodb_buffer_pool_instances=8#defaultinnodb_change_buffering=insertsinnodb_checksums=ONinnodb_buffer_pool_size= 128Minnodb_data_file_path=ibdata1:32M;ibdata2:16M:autoextendinnodb_doublewrite=ONinnodb_file_format=Barracudainnodb_file_per_table=ONinnodb_flush_log_at_trx_commit=1innodb_flush_method=O_DIRECTinnodb_io_capacity=1000innodb_lock_wait_timeout=10innodb_log_buffer_size=67108864innodb_log_file_size=1048576000innodb_log_files_in_group=4innodb_max_dirty_pages_pct=60innodb_open_files=60000innodb_purge_threads=1innodb_read_io_threads=4innodb_stats_on_metadata=OFFinnodb_support_xa=ONinnodb_use_native_aio=OFFinnodb_write_io_threads=10[mysqld_safe]datadir=/u01/my3306/data

十二、初始化MySQL指令碼

rm -rf /u01/my3306/data/*rm -rf /u01/my3306/log/iblog/*rm -rf /u01/my3306/log/binlog/*chmod -R 777 /u01/my3306/data/chmod -R 777 /u01/my3306/log/iblog/chmod -R 777 /u01/my3306/log/binlog/chmod 755 /u01/my3306/my.cnf./scripts/mysql_install_db  --defaults-file=/u01/my3306/my.cnf --datadir=/u01/my3306/data --user=mysqlchmod -R 777 /u01/my3306/data/chmod -R 777 /u01/my3306/log/iblog/chmod -R 777 /u01/my3306/log/binlog/
說明:defaults-file表示指定預設的設定檔,如果不指定,系統預設的優先順序是先使用/etc/my.cnf作為mysql的設定檔,那之前make的那些參數就白設定了.


在初化時進行日誌監控
tail -f /u01/my3306/log/alert.log


**************************************************************************************************************
報錯處理:
RSA private key file not found: /u01/my3306/data//private_key.pem. Some authentication plugins will not work.
RSA public key file not found: /u01/my3306/data//public_key.pem. Some authentication plugins will not work.

解決方案如下:
1. 檢查是否安裝openssl
$rpm -qa openssl
openssl-1.0.0-20.el6_2.5.x86_64

2.利用openssl產生公有和私人key
$ openssl genrsa -out mykey.pem 1024
Generating RSA private key, 1024 bit long modulus
..........++++++
.++++++
e is 65537 (0x10001)

$ openssl rsa -in mykey.pem -pubout -out mykey.pub
writing RSA key


$ ll mykey*
[root@mydb1 my3306]# ll mykey*
-rw-r--r-- 1 root root 891 Apr  1 20:35 mykey.pem
-rw-r--r-- 1 root root 272 Apr  1 20:35 mykey.pub

3.修改key的許可權
chmod 755 /u01/my3306/mykey.pem
chmod 755 /u01/my3306/mykey.pub
$ ll mykey*          
[root@mydb1 my3306]# ll mykey* 
-rwxr-xr-x 1 root root 891 Apr  1 20:35 mykey.pem
-rwxr-xr-x 1 root root 272 Apr  1 20:35 mykey.pub

4、添加參數到[mysqld]中即: vi my.cnf
[mysqld]
sha256_password_private_key_path=/u01/my3306/mykey.pem
sha256_password_public_key_path=/u01/my3306/mykey.pub
**********************************************************************************************

十三、啟動mysql

vi .bash_profile   ---root使用者下添加PATH=$PATH:$HOME/bin:/u01/my3306/binmysqld_safe --defaults-file=/u01/my3306/my.cnf --user=mysql &

十四、登入MySQL

[root@uubee8 ~]# mysql -h127.0.0.1 -urootWelcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.6.23-log Source distributionCopyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show variables like '%log-bin%';Empty set (0.00 sec)mysql> show variables like '%bin%';+-----------------------------------------+------------------------------+| Variable_name                           | Value                        |+-----------------------------------------+------------------------------+| bind_address                            | *                            || binlog_cache_size                       | 32768                        || binlog_checksum                         | CRC32                        || binlog_direct_non_transactional_updates | OFF                          || binlog_error_action                     | IGNORE_ERROR                 || binlog_format                           | ROW                          || binlog_gtid_simple_recovery             | OFF                          || binlog_max_flush_queue_time             | 0                            || binlog_order_commits                    | ON                           || binlog_row_image                        | FULL                         || binlog_rows_query_log_events            | OFF                          || binlog_stmt_cache_size                  | 32768                        || binlogging_impossible_mode              | IGNORE_ERROR                 || innodb_api_enable_binlog                | OFF                          || innodb_locks_unsafe_for_binlog          | OFF                          || log_bin                                 | ON                           || log_bin_basename                        | /u01/my3306/log/binlog       || log_bin_index                           | /u01/my3306/log/binlog.index || log_bin_trust_function_creators         | OFF                          || log_bin_use_v1_row_events               | OFF                          || max_binlog_cache_size                   | 2147483648                   || max_binlog_size                         | 524288000                    || max_binlog_stmt_cache_size              | 18446744073709547520         || simplified_binlog_gtid_recovery         | OFF                          || sql_log_bin                             | ON                           || sync_binlog                             | 100                          |+-----------------------------------------+------------------------------+26 rows in set (0.00 sec)

##################################################################################################################################

1.初始化MySQL指令碼:sh init3306.shrm -rf /u01/my3306/data/*rm -rf /u01/my3306/log/iblog/*rm -rf /u01/my3306/log/binlog/*chmod -R 777 /u01/my3306/data/chmod -R 777 /u01/my3306/log/iblog/chmod -R 777 /u01/my3306/log/binlog/chmod 755 /u01/my3306/my.cnf./scripts/mysql_install_db  --defaults-file=/u01/my3306/my.cnf --datadir=/u01/my3306/data --user=mysqlchmod -R 777 /u01/my3306/data/chmod -R 777 /u01/my3306/log/iblog/chmod -R 777 /u01/my3306/log/binlog/2.啟動MySQL指令碼sh start3306.shmysqld_safe --defaults-file=/u01/my3306/my.cnf --user=mysql &3.登入MySQL指令碼sh logon3306.shmysql -h127.0.0.1 -uroot



相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.