首页 > 代码库 > MYSQL Study案例之--通过源码安装Mysql-5.6
MYSQL Study案例之--通过源码安装Mysql-5.6
MYSQL Study案例之--通过源码安装Mysql-5.6
系统环境:
操作系统:RedHat EL6
DB Soft: Mysql 5.6.4-m7
1、系统环境
[root@rh6 Packages]# uname -a Linux rh6 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux [root@rh6 Packages]#
2、安装cmake软件
[root@rh6 Packages]# rpm -ivh cmake-2.6.4-5.el6.x86_64.rpm warning: cmake-2.6.4-5.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:cmake ########################################### [100%]
3、源码安装mysql
[root@rh6 Packages]# cd /home/oracle/mysql-5.6.4-m7
[root@rh6 mysql-5.6.4-m7]# ls
BUILD config.h.cmake extra libservices README storage vio
BUILD-CMAKE configure.cmake include man regex strings win
client COPYING INSTALL-SOURCE mysql-test scripts support-files zlib
cmake dbug INSTALL-WIN-SOURCE mysys sql tests
CMakeLists.txt Docs libmysql packaging sql-bench unittest
cmd-line-utils Doxyfile-perfschema libmysqld plugin sql-common VERSION
查看编译环境:
[root@rh6 mysql-5.6.4-m7]# cmake ./ -- Check size of wchar_t - done -- Check size of wctype_t -- Check size of wctype_t - done -- Check size of wint_t -- Check size of wint_t - done -- Found Curses: /usr/lib64/libcurses.so -- Looking for tputs in /usr/lib64/libcurses.so -- Looking for tputs in /usr/lib64/libcurses.so - found -- Performing Test HAVE_DECL_TGOTO -- Performing Test HAVE_DECL_TGOTO - Success -- Looking for strvis -- Looking for strvis - not found -- Looking for strunvis -- Looking for strunvis - not found -- Looking for include files HAVE_LIBAIO_H -- Looking for include files HAVE_LIBAIO_H - found -- Looking for io_queue_init in aio -- Looking for io_queue_init in aio - found -- Performing Test HAVE_IB_GCC_ATOMIC_BUILTINS -- Performing Test HAVE_IB_GCC_ATOMIC_BUILTINS - Success -- Performing Test HAVE_IB_ATOMIC_PTHREAD_T_GCC -- Performing Test HAVE_IB_ATOMIC_PTHREAD_T_GCC - Success -- Check size of pthread_t -- Check size of pthread_t - done -- Performing Test HAVE_PEERCRED -- Performing Test HAVE_PEERCRED - Success -- Googletest was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build required components from source. -- If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://foo.bar.com:80 -- Configuring done -- Generating done -- Build files have been written to: /home/oracle/mysql-5.6.4-m7
编译:
[root@rh6 mysql-5.6.4-m7]# make Scanning dependencies of target INFO_BIN [ 0%] Built target INFO_BIN Scanning dependencies of target INFO_SRC [ 0%] Built target INFO_SRC Scanning dependencies of target abi_check [ 0%] Built target abi_check [ 1%] Generating common.h [ 1%] Generating help.c [ 1%] Generating help.h [ 1%] Generating vi.h [ 1%] Generating emacs.h [ 1%] Generating fcns.c [ 1%] Generating fcns.h Scanning dependencies of target edit [ 1%] Building C object cmd-line-utils/libedit/CMakeFiles/edit.dir/chared.c.o [ 1%] Building C object cmd-line-utils/libedit/CMakeFiles/edit.dir/chartype.c.o [ 1%] Building C object cmd-line-utils/libedit/CMakeFiles/edit.dir/el.c.o
安装:
[root@rh6 mysql-5.6.4-m7]# make install [ 0%] Built target INFO_BIN [ 0%] Built target INFO_SRC [ 0%] Built target abi_check [ 5%] Built target edit [ 6%] Built target mysqlservices [ 12%] Built target strings [ 25%] Built target mysys [ 25%] Built target dbug [ 25%] Built target comp_err [ 25%] Built target GenError [ 25%] Built target blackhole [ 25%] Built target example [ 25%] Built target archive [ 34%] Built target perfschema [ 35%] Built target mytap [ 35%] Built target pfs-t [ 35%] Built target pfs_account-oom-t [ 35%] Built target pfs_host-oom-t [ 36%] Built target pfs_instr-oom-t [ 36%] Built target pfs_instr-t [ 36%] Built target pfs_instr_class-oom-t [ 36%] Built target pfs_instr_class-t [ 36%] Built target pfs_user-oom-t
4、数据库初始化
[root@rh6 mysql-5.6.4-m7]# cd /usr/local/mysql [root@rh6 mysql]# ls bin data include lib mysql-test scripts sql-bench COPYING docs INSTALL-BINARY man README share support-files [root@rh6 mysql]# ls -l total 76 drwxr-xr-x 2 root root 4096 Jan 28 17:16 bin -rw-r--r-- 1 root root 17987 Dec 14 2011 COPYING drwxr-xr-x 4 root root 4096 Jan 28 17:16 data drwxr-xr-x 2 root root 4096 Jan 28 17:16 docs drwxr-xr-x 3 root root 4096 Jan 28 17:16 include -rw-r--r-- 1 root root 7369 Dec 14 2011 INSTALL-BINARY drwxr-xr-x 3 root root 4096 Jan 28 17:16 lib drwxr-xr-x 4 root root 4096 Jan 28 17:16 man drwxr-xr-x 10 root root 4096 Jan 28 17:16 mysql-test -rw-r--r-- 1 root root 2552 Dec 14 2011 README drwxr-xr-x 2 root root 4096 Jan 28 17:16 scripts drwxr-xr-x 27 root root 4096 Jan 28 17:16 share drwxr-xr-x 4 root root 4096 Jan 28 17:16 sql-bench drwxr-xr-x 2 root root 4096 Jan 28 17:16 support-files [root@rh6 mysql]# id mysql uid=27(mysql) gid=27(mysql) groups=27(mysql) [root@rh6 mysql]# chown -R mysql:mysql . [root@rh6 mysql]# ls -l total 76 drwxr-xr-x 2 mysql mysql 4096 Jan 28 17:16 bin -rw-r--r-- 1 mysql mysql 17987 Dec 14 2011 COPYING drwxr-xr-x 4 mysql mysql 4096 Jan 28 17:16 data drwxr-xr-x 2 mysql mysql 4096 Jan 28 17:16 docs drwxr-xr-x 3 mysql mysql 4096 Jan 28 17:16 include -rw-r--r-- 1 mysql mysql 7369 Dec 14 2011 INSTALL-BINARY drwxr-xr-x 3 mysql mysql 4096 Jan 28 17:16 lib drwxr-xr-x 4 mysql mysql 4096 Jan 28 17:16 man drwxr-xr-x 10 mysql mysql 4096 Jan 28 17:16 mysql-test -rw-r--r-- 1 mysql mysql 2552 Dec 14 2011 README drwxr-xr-x 2 mysql mysql 4096 Jan 28 17:16 scripts drwxr-xr-x 27 mysql mysql 4096 Jan 28 17:16 share drwxr-xr-x 4 mysql mysql 4096 Jan 28 17:16 sql-bench drwxr-xr-x 2 mysql mysql 4096 Jan 28 17:16 support-files [root@rh6 mysql]# [root@rh6 mysql]# scripts/mysql_install_db --user=mysql Installing MySQL system tables... 150128 17:21:30 InnoDB: The InnoDB memory heap is disabled 150128 17:21:30 InnoDB: Mutexes and rw_locks use GCC atomic builtins 150128 17:21:30 InnoDB: Compressed tables use zlib 1.2.3 150128 17:21:30 InnoDB: Using Linux native AIO 150128 17:21:30 InnoDB: CPU does not support crc32 instructions 150128 17:21:30 InnoDB: Initializing buffer pool, size = 128.0M 150128 17:21:30 InnoDB: Completed initialization of buffer pool InnoDB: The first specified data file ./ibdata1 did not exist: InnoDB: a new database to be created! 150128 17:21:30 InnoDB: Setting file ./ibdata1 size to 10 MB InnoDB: Database physically writes the file full: wait... 150128 17:21:31 InnoDB: Log file ./ib_logfile0 did not exist: new to be created InnoDB: Setting log file ./ib_logfile0 size to 5 MB InnoDB: Database physically writes the file full: wait... 150128 17:21:31 InnoDB: Log file ./ib_logfile1 did not exist: new to be created InnoDB: Setting log file ./ib_logfile1 size to 5 MB InnoDB: Database physically writes the file full: wait... InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created 150128 17:21:31 InnoDB: 128 rollback segment(s) are active. InnoDB: Creating foreign key constraint system tables InnoDB: Foreign key constraint system tables created 150128 17:21:31 InnoDB: Waiting for the background threads to start ...... 150128 17:21:38 [Note] Shutting down plugin ‘mysql_native_password‘ 150128 17:21:38 [Note] Shutting down plugin ‘binlog‘ OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: ./bin/mysqladmin -u root password ‘new-password‘ ./bin/mysqladmin -u root -h rh6 password ‘new-password‘ Alternatively you can run: ./bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd . ; ./bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd ./mysql-test ; perl mysql-test-run.pl Please report any problems with the ./bin/mysqlbug script! [root@rh6 mysql]# chown -R mysql:mysql ./data [root@rh6 mysql]# chmod -R ug+rws . [root@rh6 mysql]# ls -l total 76 drwsrwsr-x 2 mysql mysql 4096 Jan 28 17:16 bin -rwSrwSr-- 1 mysql mysql 17987 Dec 14 2011 COPYING drwsrwsr-x 4 mysql mysql 4096 Jan 28 17:16 data drwsrwsr-x 2 mysql mysql 4096 Jan 28 17:16 docs drwsrwsr-x 3 mysql mysql 4096 Jan 28 17:16 include -rwSrwSr-- 1 mysql mysql 7369 Dec 14 2011 INSTALL-BINARY drwsrwsr-x 3 mysql mysql 4096 Jan 28 17:16 lib drwsrwsr-x 4 mysql mysql 4096 Jan 28 17:16 man drwsrwsr-x 10 mysql mysql 4096 Jan 28 17:16 mysql-test -rwSrwSr-- 1 mysql mysql 2552 Dec 14 2011 README drwsrwsr-x 2 mysql mysql 4096 Jan 28 17:16 scripts drwsrwsr-x 27 mysql mysql 4096 Jan 28 17:16 share drwsrwsr-x 4 mysql mysql 4096 Jan 28 17:16 sql-bench drwsrwsr-x 2 mysql mysql 4096 Jan 28 17:16 support-files
5、查看mysql配置文件
[root@rh6 mysql]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
6、启动mysqld服务
[root@rh6 mysql]# bin/mysqld_safe --user=mysql & [1] 13138 [root@rh6 mysql]# 150128 17:25:19 mysqld_safe Logging to ‘/var/log/mysqld.log‘. 150128 17:25:19 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql [root@rh6 mysql]# ps -ef |grep mysql root 13138 2175 1 17:25 pts/0 00:00:00 /bin/sh bin/mysqld_safe --user=mysql mysql 13276 13138 3 17:25 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/var/lib/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock [root@rh6 mysql]# netstat -an |grep :3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 查看系统日志: [root@rh6 log]# more /var/log/mysqld.log 150128 17:25:19 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 150128 17:25:19 InnoDB: The InnoDB memory heap is disabled 150128 17:25:19 InnoDB: Mutexes and rw_locks use GCC atomic builtins 150128 17:25:19 InnoDB: Compressed tables use zlib 1.2.3 150128 17:25:19 InnoDB: Using Linux native AIO 150128 17:25:19 InnoDB: CPU does not support crc32 instructions 150128 17:25:19 InnoDB: Initializing buffer pool, size = 128.0M 150128 17:25:19 InnoDB: Completed initialization of buffer pool 150128 17:25:19 InnoDB: highest supported file format is Barracuda. 150128 17:25:20 InnoDB: 128 rollback segment(s) are active. 150128 17:25:20 InnoDB: Waiting for the background threads to start 150128 17:25:21 InnoDB: 1.2.4 started; log sequence number 1602851 150128 17:25:21 [Warning] No existing UUID has been found, so we assume that this is the first time that this serv er has been started. Generating a new UUID: 94adecc3-a6cf-11e4-87f0-080027ac3540. 150128 17:25:21 [Note] Event Scheduler: Loaded 0 events 150128 17:25:21 [Note] /usr/local/mysql/bin/mysqld: ready for connections. Version: ‘5.6.4-m7‘ socket: ‘/var/lib/mysql/mysql.sock‘ port: 3306 Source distribution [root@rh6 log]#
7、修改root(mysql)用户口令
[root@rh6 mysql]# mysqladmin version mysqladmin Ver 8.42 Distrib 5.1.66, for redhat-linux-gnu on x86_64 Copyright (c) 2000, 2012, 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. Server version 5.6.4-m7 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 11 min 16 sec Threads: 1 Questions: 1 Slow queries: 0 Opens: 66 Flush tables: 1 Open tables: 59 Queries per second avg: 0.001 [root@rh6 mysql]# [root@rh6 mysql]# mysqladmin -u root -p password "oracle" Enter password: mysqladmin: connect to server at ‘localhost‘ failed error: ‘Access denied for user ‘root‘@‘localhost‘ (using password: YES)‘ [root@rh6 mysql]# mysqladmin -u root -p password "oracle" Enter password: mysqladmin: connect to server at ‘localhost‘ failed error: ‘Access denied for user ‘root‘@‘localhost‘ (using password: YES)‘ [root@rh6 mysql]# mysqladmin -u root -p password "oracle" Enter password:
8、连接mysql server
[root@rh6 mysql]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 Server version: 5.6.4-m7 Source distribution Copyright (c) 2000, 2012, 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> mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.01 sec) mysql> use test; Database changed mysql> show tables; Empty set (0.00 sec) mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | event | | func | | general_log | | help_category | | help_keyword | | help_relation | | help_topic | | host | | innodb_index_stats | | innodb_table_stats | | ndb_binlog_index | | plugin | | proc | | procs_priv | | proxies_priv | | servers | | slave_master_info | | slave_relay_log_info | | slave_worker_info | | slow_log | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 29 rows in set (0.00 sec) mysql>
9 查看mysql引擎
mysql> show engines; +--------------------+---------+------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+------------------------------------------------------------+--------------+------+------------+ | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | +--------------------+---------+------------------------------------------------------------+--------------+------+------------+ 6 rows in set (0.01 sec)
默认引擎是:InnoDB
@至此,mysql安装已经完成!
本文出自 “天涯客的blog” 博客,请务必保留此出处http://tiany.blog.51cto.com/513694/1609310
MYSQL Study案例之--通过源码安装Mysql-5.6