1. 程式人生 > >CENTOS6.5 安裝 mysql5.6 以及搭建雙主

CENTOS6.5 安裝 mysql5.6 以及搭建雙主

關於 base ucc status mysq automake tables ++ 哪些

一、Mysql5.6.10安裝

1.1、必要軟件

yum -y install gcc gcc-c++  autoconf automake  bison  ncurses-devel libtool-ltdl-devel* cmake make

1.2、編譯安裝

[[email protected] src]#groupadd mysql

[[email protected] src]# useradd mysql -g mysql

[[email protected] src]# pwd

/usr/local/src

[[email protected]

/* */ src]#mkdir /home/mysql/data -p

[[email protected] src]# mkdir /usr/local/mysql

[[email protected] src]# ls

mysql-5.6.10.tar.gz

Cm/pwd[[email protected] src]# tar -zvxf mysql-5.6.10.tar.gz

Cmake軟件可以編譯安裝也可以不編譯安裝目前未發現不編譯安裝有什麽問題

Rpm包cmake在centos中版本是 2.6.4-5.el6至於為什麽編譯安裝cmake我個人認為是由於在rhel5中沒有或者版本過低有些mysql的安裝還是進行在rhel5之上在cmake的官網上也正是這兩種版本2.6.4是始終有下載的

下載cmake-2.8.10.2版本

[[email protected] src]# tar -zvxf cmake-2.8.10.2.tar.gz

[[email protected] src]# cd cmake-2.8.10.2

[[email protected] cmake-2.8.10.2]# ./bootstrap

[[email protected] cmake-2.8.12.1]#make&&make install

[[email protected] cmake-2.8.12.1]# cmake --help |head -n1

cmake version 2.8.12.1

[[email protected] cmake-2.8.12.1]# cd /usr/local/src/mysql-5.6.10/storage

有哪些存儲引擎的支持可以看一個目錄

[[email protected] storage]# ls

archive csv federated innobase myisammrg perfschema

blackhole example heap myisam ndb

[[email protected] storage]# pwd

/usr/local/src/mysql-5.6.10/storage

[[email protected] storage]# cd /usr/local/src/mysql-5.6.10

[[email protected] mysql-5.6.10]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DMYSQL_DATADIR=/data/mysql/data/ \

-DSYSCONFDIR=/etc \

-DWITH_TCP_PORT=3306 \

-DMYSQL_USER=mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=all \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1

參數配置詳細解釋:

其實5.6版本可以所有的關於引擎的參數不填寫因為默認是全部給安裝的

而5.5則不同關於-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \ 這三個是必須要自己填寫的否則的話只能編譯出6個引擎;

# /* -DWITH_READLINE=1 # 快捷鍵功能

# /* -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysqld.sock # 連接數據庫socket路徑

# /* -DMYSQL_TCP_PORT=3306 # 端口

# /* -DENABLED_LOCAL_INFILE=1 # 允許從本地導入數據

[[email protected] src]#make && make install

[[email protected] src]#cd /usr/local/mysql/scripts/

[[email protected]]#./mysql_install_db --user=mysql --datadir=/data/mysql/data --basedir=/usr/local/mysql

[[email protected] src]#cd /usr/local/mysql/support-files/

[[email protected] src]#cp mysql.server /etc/init.d/mysqld

[[email protected] src]#chmod 755 /etc/init.d/mysqld

[[email protected] src]#cat >>/etc/profile <<EOF

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

EOF

[[email protected] src]#source /etc/profile

[[email protected] src]#cd /usr/local/mysql/support-files/

[[email protected] support-files]#cp -f my-default.cnf /etc/my.cnf

[[email protected] support-files]#cat >> /etc/my.cnf <<EOF

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

log-bin=mysql-bin

server_id=1

expire_logs_days=10

binlog_format=mixed

table_definition_cache=10000

max_connections=5000

key_buffer_size=2G

tmp_table_size=2G

read_buffer_size=4M

read_rnd_buffer_size=16M

sort_buffer_size=4M

join_buffer_size = 8M

thread_cache_size=64

wait_timeout=1800

query_cache_size=64M

innodb_buffer_pool_size=32G

innodb_additional_mem_pool_size=200M

innodb_sort_buffer_size=4M

innodb_log_buffer_size=4M

innodb_thread_concurrency=0

#innodb_data_file_path = ibdata1:1G:autoextend

innodb_flush_log_at_trx_commit = 2

innodb_status_file = 1

open_files_limit = 60000

innodb_open_files=60000

long_query_time=0.1

slow_query_log=1

slow_query_log_file=/home/mysql/data/slow-query.log

[[email protected] support-files]#chown mysql.mysql /etc/my.cnf

更改系統參數

Vi /etc/security/limits.conf

* soft nofile 65535

* hard nofile 65535

* soft nproc 65535

* hard nproc 65535

# 將安裝目錄屬主改為mysql[上面更改,到這裏又變成root屬主了,所以可以選擇更改為mysql]

[[email protected] support-files]#chkconfig --add mysqld

[[email protected] support-files]#chkconfig mysqld on

[[email protected] support-files]# chkconfig --list |grep mysql --234必須為on

[[email protected] support-files]#service mysqld start

[[email protected] support-files]#echo "drop user [email protected]::1‘;drop user [email protected];drop user [email protected];"|mysql

[[email protected] support-files]#mysqladmin -u root password ‘haowu123‘

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

如果起數據庫報錯多半不外乎兩種可能

第一種是你[[email protected]]#./mysql_install_db --user=mysql --datadir=/data/mysql/data --basedir=/usr/local/mysql路徑不對那麽重新執行這句

第二種則是你有老的數據庫沒有關閉或者你多次service mysqld start導致的。解決辦法如下

[[email protected] support-files]# service mysqld restart

ERROR! MySQL server PID file could not be found!

Starting MySQL.. ERROR! The server quit without updating PID file (/data/mysql/data/localhost.localdomain.pid).

[[email protected] support-files]# ps -ef |grep mysql

root 47388 1 0 17:03 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql/data --pid-file=/data/mysql/data/localhost.localdomain.pid

mysql 47503 47388 0 17:03 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/data/localhost.localdomain.err --pid-file=/data/mysql/data/localhost.localdomain.pid

root 62679 11100 0 22:06 pts/0 00:00:00 grep mysql

[[email protected] support-files]# kill -9 47503

[[email protected] support-files]# service mysqld restart

ERROR! MySQL server PID file could not be found!

Starting MySQL.. SUCCESS!

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

二、MYSQL5.5.34編譯安裝

Mysql5.5.34的安裝步驟與上面基本一致編譯的地方需要編譯完全點另外模板復制方面也有些許不同

[[email protected] mysql-5.6.10]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DMYSQL_DATADIR=/data/mysql/data/ \

-DSYSCONFDIR=/etc \

-DWITH_TCP_PORT=3306 \

-DMYSQL_USER=mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=all \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1

[[email protected] support-files]# cp my-medium.cnf /etc/my.cnf

vim /etc/my.cnf

將上面的參數加到mysqld中存在的改變參數

ARCHIVE : ARCHIVE存儲引擎被用來無索引地,非常小地覆蓋存儲的大量數據

BLACKHOLE :存儲引擎接受但不存儲數據,並且檢索總是返回一個空集但是會記錄到日誌裏。

FEDERATED :儲引擎把數據存在遠程數據庫中

InnoDB and BDB :InnoDB和BDB存儲引擎提供事務安全表

MEMORY :MEMORY存儲引擎提供“內存中”表,MEMORY存儲引擎正式地被確定為HEAP引擎。

MyISAM :MyISAM管理非事務表。它提供高速存儲和檢索,以及全文搜索能力。

EXAMPLE :EXAMPLE存儲引擎是一個“存根”引擎,它不做什麽。

NDB Cluster : 是被MySQL Cluster用來實現分割到多臺計算機上的表的存儲引擎。它在MySQL-Max 5.1二進制分發版裏提供。這個存儲引擎當前只被Linux, Solaris, 和Mac OS X 支持。

CSV : 存儲引擎把數據以逗號分隔的格式存儲在文本文件中。

MERGE : 存儲引擎允許集合將被處理同樣的MyISAM表作為一個單獨的表。就像MyISAM一樣,MEMORY和MERGE存儲引擎處理非事務表,這兩個引擎也都被默認包含在MySQL中。在5.6中等同於MRG_MYISAM

最後如果你的存儲引擎少安裝了或者多安裝了都沒有關系你可以安裝也可以卸載

1,查看一下,mysql配置是不是支持動態添加插件

mysql> show variables like "have_%";

+----------------------+-------+

| Variable_name | Value |

+----------------------+-------+

| have_compress | YES |

| have_crypt | YES |

| have_csv | YES |

| have_dynamic_loading | YES | //在這裏是YES表示是支持的

如果是no呢,就不太好辦,因為have_dynamic_loading是只讀變量,

mysql> set have_dynamic_loading=1;

mysql> install plugin INNODB soname "ha_innodb.so";

mysql> install plugin INNODB_TRX soname "ha_innodb.so";

mysql> install plugin INNODB_LOCKS soname "ha_innodb.so";

mysql> install plugin INNODB_LOCK_WAITS soname "ha_innodb.so";

mysql> install plugin INNODB_CMP soname "ha_innodb.so";

mysql> install plugin INNODB_CMP_RESET soname "ha_innodb.so";

mysql> install plugin INNODB_CMPMEM soname "ha_innodb.so";

mysql> install plugin INNODB_CMPMEM_RESET soname "ha_innodb.so"

mysql> install plugin ARCHIVE soname "ha_archive.so";

安裝好後,在用 show engines;或者show plugins;來查看

)

2: 搭建雙主

(1): 在2臺服務器上將mysql裝好後修改2邊的配置文件

vi /etc/my.cnf

master1開啟日誌模式:log_bin=mysql_bin

server_id=1

master2開啟日誌模式:log_bin=mysql_log

server_id=2

在master1上登入mysql: mysql –phaowu123

授權:grant replication slave on *.* to [email protected]%’ identified by [email protected];

刷新授權:flush privileges;

(2): master1上show master status; 查看master狀態

reset master;

在master2上用slave用戶登入master1測試授權是否成功

mysql –u –p –h

在master2上登入mysql做changer master to (註;先stop slave;)

CHANGE MASTER TO

MASTER_HOST=‘’,

MASTER_USER=‘’,

MASTER_PASSWORD=‘’,

MASTER_PORT=3306,

MASTER_LOG_FILE=‘’,

MASTER_LOG_POS=

MASTER_CONNECT_RETRY=10;

start slave;

show slave status\G

看到:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes 說明OK

(3): 2臺上做法一樣

到此 mysql互為主從搭建完成

CENTOS6.5 安裝 mysql5.6 以及搭建雙主