Linux下编译安装MySQL5.5

RHEL5 / OL5 / CentOS5 / SLES10 / SLES11 / openSuSE is OK!


yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel ssse2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers gettext-devel libXpm-devel libtool perl-DBD-MySQL rpm-build gcc-c++ mysql mysql-devel readline-devel openssl-devel gmp-devel ncurses-devel gdbm-devel expat-devel libGL-devel libX11-devel tcl-devel tk-devel tix-devel sqlite-devel db4-devel

on Novell SuSE Linux

zypper install gcc gcc-c++ bison patch unzip mlocate flex wget automake autoconf gd cpp gettext readline-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel libidn libidn-devel openldap openldap-devel openldap-clients openldap-servers nss_ldap expat-devel libtool libtool-ltdl-devel bison libevent gpgme gpgme-devel perl-DBD-MySQL

[root@dbtest opt]# useradd mysql -s /sbin/nologin 
[root@dbtest opt]# mkdir -p /data/mysql /service




编译安装cmake

[root@dbtest opt]# tar -zxvf cmake-2.8.9.tar.gz 
[root@dbtest opt]# cd cmake-2.8.9
[root@dbtest cmake-2.8.9]# ./configure 
[root@dbtest cmake-2.8.9]# make && make install


安装mysql

[root@dbtest opt]# tar -zxvf mysql-5.5.27.tar.gz 
[root@dbtest opt]# cd mysql-5.5.27
[root@dbtest mysql-5.5.27]# cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/service/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_EXAMPLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=30307 -DCOMPILATION_COMMENT=Master_DB -DWITH_DEBUG=0
[root@dbtest mysql-5.5.27]# make && make install
参数文件

[root@dbtest mysql-5.5.27]# cat /service/mysql/my.cnf 
[client]
port            = 30307
socket          = /data/mysql/mysql.sock

[mysqld]
port            = 30307
socket          = /data/mysql/mysql.sock
skip-external-locking
back_log = 500
lower_case_table_names = 1
skip-name-resolve
max_connections = 1024
table_open_cache = 512
binlog_cache_size = 1M
max_heap_table_size = 300M
read_buffer_size = 10M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size=4M
thread_cache_size = 4
thread_concurrency = 4
query_cache_size = 200M
ft_min_word_len = 4
thread_stack = 192K
tmp_table_size = 200M
slow_query_log
long_query_time = 2
slow_query_log_file = /data/mysql/slowsql.sql
key_buffer_size = 32M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 200M
myisam_repair_threads = 4
myisam_recover

# setup innodb
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 2500M
innodb_data_file_path = ibdata1:10M:autoextend
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 8M
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
init_connect = 'SET autocommit=0'
innodb-file-per-table = 1
innodb-open-file = 500
innodb_flush_method=O_DIRECT

expire_logs_days = 5
federated
event_scheduler = 1

log-bin=binlog-master
binlog_format=mixed
server-id       = 1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
prompt=\\u@\\d \\r:\\m:\\s>
no-auto-rehash

[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
[root@dbtest mysql-5.5.27]# 

--MySQL 5.6

gtid_mode=on
log_slave_updates=on
enforce_gtid_consistency=on

report_host=db02
master-info-repository=TABLE
relay-log-info-repository=TABLE



初始化数据字典,启动mysql

[root@dbtest ~]# cd /data/mysql/
[root@dbtest mysql]# /service/mysql/scripts/mysql_install_db --defaults-file=/service/mysql/my.cnf --basedir=/service/mysql --datadir=/data/mysql --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
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:

/service/mysql/bin/mysqladmin -u root password 'new-password'
/service/mysql/bin/mysqladmin -u root -h 192.168.1.52 password 'new-password'

Alternatively you can run:
/service/mysql/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 /service/mysql ; /service/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /service/mysql/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /service/mysql/scripts/mysqlbug script!

[root@dbtest mysql]# ll
total 1064
-rw-rw---- 1 mysql mysql   27293 Dec 15 08:03 binlog-master.000001
-rw-rw---- 1 mysql mysql 1037542 Dec 15 08:03 binlog-master.000002
-rw-rw---- 1 mysql mysql      46 Dec 15 08:03 binlog-master.index
drwx------ 2 mysql root     4096 Dec 15 08:03 mysql
drwx------ 2 mysql mysql    4096 Dec 15 08:03 performance_schema
drwx------ 2 mysql root     4096 Dec 15 08:03 test
[root@dbtest mysql]# /service/mysql/bin/mysqld_safe --defaults-file=/service/mysql/my.cnf --basedir=/service/mysql --datadir=/data/mysql --user=mysql &
[1] 3315
[root@dbtest mysql]# 121215 08:03:41 mysqld_safe Logging to '/data/mysql/dbtest.err'.
121215 08:03:41 mysqld_safe Starting mysqld daemon with databases from /data/mysql

[root@dbtest mysql]# /service/mysql/bin/mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.27-log Master_DB

Copyright (c) 2000, 2011, 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> 

[root@dbtest zwc]# export PATH=$PATH:/service/mysql/bin
[root@dbtest zwc]# mysqladmin -uroot password '123456'
[root@dbtest zwc]# mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@dbtest zwc]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.5.27-log Master_DB

Copyright (c) 2000, 2011, 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 grants;
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION                                                                           |
+----------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> 


test

mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| FEDERATED          | YES     | Federated MySQL storage engine                                 | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)

mysql> show variables like '%innodb_file_per_table%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+
1 row in set (0.00 sec)

mysql> create table test.t_tab(id int primary key,`desc` varchar(100));
Query OK, 0 rows affected (0.02 sec)

mysql> system ls -l /data/mysql/test
total 112
-rw-rw---- 1 mysql mysql  8586 Dec 15 08:12 t_tab.frm
-rw-rw---- 1 mysql mysql 98304 Dec 15 08:12 t_tab.ibd
mysql> select @@version;
+------------+
| @@version  |
+------------+
| 5.5.27-log |
+------------+
1 row in set (0.00 sec)

mysql> select @@version,now();
+------------+---------------------+
| @@version  | now()               |
+------------+---------------------+
| 5.5.27-log | 2012-12-15 08:12:37 |
+------------+---------------------+
1 row in set (0.00 sec)

mysql> 





你可能感兴趣的:(Linux下编译安装MySQL5.5)