天天看點

MySQL-5.6.29源碼編譯安裝記錄

# yum install make cmake gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel patch wget libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel unzip tar bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap diffutils net-tools libc-client-devel psmisc libXpm-devel git-core c-ares-devel perl   

2. cmake采用yum方式已安裝,不需要再安裝。

tar zxvf mysql-5.6.29.tar.gz   

cd mysql-5.6.29    

patch -p1 < ../mysql-openssl.patch    

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_DEBUG=0     

make && make install

注:重新編駐譯采用如下方式,ssl方式不需要采用,可以删除掉相關參數。

make clean    

rm -f CMakeCache.txt

groupadd mysql   

useradd -g mysql -M -s /sbin/nologin mysql

chown -R mysql:mysql /usr/local/mysql   

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

cd /usr/local/mysql   

cp support-files/my-medium.cnf /etc/my.cnf     

cp support-files/mysql.server  /etc/rc.d/init.d/mysqld    

chkconfig --add mysqld    

chkconfig mysqld on

ln -sf /usr/local/mysql/bin/mysql /usr/bin/mysql   

ln -sf /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump    

ln -sf /usr/local/mysql/bin/myisamchk /usr/bin/myisamchk    

ln -sf /usr/local/mysql/bin/mysqld_safe /usr/bin/mysqld_safe

# vi /etc/profile    

export PATH=/usr/local/mysql/bin/:$PATH    

# source /etc/profile

ln -sv /usr/local/mysql/include  /usr/include/mysql    

echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf    

ldconfig

vi /etc/my.cnf

[client]   

port        = 3306    

socket      = /tmp/mysql.sock

# The MySQL server   

[mysqld]    

socket      = /tmp/mysql.sock    

datadir = /usr/local/mysql/data    

skip-external-locking    

max_connections = 1000    

key_buffer_size = 16M    

max_allowed_packet = 1M    

table_open_cache = 64    

sort_buffer_size = 512K    

net_buffer_length = 8K    

read_buffer_size = 256K    

read_rnd_buffer_size = 512K    

myisam_sort_buffer_size = 8M

#skip-networking

log-bin=mysql-bin   

binlog_format=mixed    

server-id   = 1

innodb_data_home_dir = /usr/local/mysql/data   

innodb_data_file_path = ibdata1:10M:autoextend    

innodb_log_group_home_dir = /usr/local/mysql/data    

innodb_buffer_pool_size = 16M    

innodb_additional_mem_pool_size = 2M    

innodb_log_file_size = 5M    

innodb_log_buffer_size = 8M    

innodb_flush_log_at_trx_commit = 1    

innodb_lock_wait_timeout = 50

[mysqldump]   

quick    

max_allowed_packet = 16M

[mysql]   

no-auto-rehash

[myisamchk]   

key_buffer_size = 20M    

sort_buffer_size = 20M    

read_buffer = 2M    

write_buffer = 2M

[mysqlhotcopy]   

interactive-timeout    

expire_logs_days = 10

service mysqld start

# /usr/local/mysql/bin/mysqladmin -u root password 'admin' #設定管理者密碼   

# /usr/local/mysql/bin/mysql -u root -p   #測試密碼輸入

[root@test ~]# /usr/local/mysql/bin/mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL   

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current   

password for the root user.  If you've just installed MySQL, and    

you haven't set the root password yet, the password will be blank,    

so you should just press enter here.

Enter current password for root (enter for none):    

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL   

root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n   

... skipping.

By default, a MySQL installation has an anonymous user, allowing anyone   

to log into MySQL without having to have a user account created for    

them.  This is intended only for testing, and to make the installation    

go a bit smoother.  You should remove them before moving into a    

production environment.

Remove anonymous users? [Y/n] y   

... Success!

Normally, root should only be allowed to connect from 'localhost'.  This   

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n   

By default, MySQL comes with a database named 'test' that anyone can   

access.  This is also intended only for testing, and should be removed    

before moving into a production environment.

Remove test database and access to it? [Y/n] y   

- Dropping test database...    

... Success!    

- Removing privileges on test database...    

Reloading the privilege tables will ensure that all changes made so far   

will take effect immediately.

Reload privilege tables now? [Y/n] y   

All done!  If you've completed all of the above steps, your MySQL   

installation should now be secure.

Thanks for using MySQL!

Cleaning up...

[root@test data]# mysql -uroot -p   

Enter password:     

Welcome to the MySQL monitor.  Commands end with ; or \g.    

Your MySQL connection id is 9    

Server version: 5.6.29-log Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its   

affiliates. Other names may be trademarks of their respective    

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> \s   

--------------    

mysql  Ver 14.14 Distrib 5.6.29, for Linux (x86_64) using  EditLine wrapper

Connection id:          9   

Current database:    

Current user:           root@localhost    

SSL:                    Not in use    

Current pager:          stdout    

Using outfile:          ''    

Using delimiter:        ;    

Server version:         5.6.29-log Source distribution    

Protocol version:       10    

Connection:             Localhost via UNIX socket    

Server characterset:    utf8    

Db     characterset:    utf8    

Client characterset:    utf8    

Conn.  characterset:    utf8    

UNIX socket:            /tmp/mysql.sock    

Uptime:                 9 min 36 sec

Threads: 1  Questions: 29  Slow queries: 0  Opens: 71  Flush tables: 1  Open tables: 64  Queries per second avg: 0.050   

--------------

mysql>

安裝完畢。

本文轉自 koumm 51CTO部落格,原文連結:http://blog.51cto.com/koumm/1762443,如需轉載請自行聯系原作者