MYSQL完整安裝和主從雙機配置

示例主機:192.168.0.1  示例備機:192.168.0.2

 

################################# mysql 完整安裝 ###########################

groupadd  mysql

useradd -g mysql mysql

mv /root/mysql-5.0.51b.tar.gz /usr/local/src

tar -zxvf mysql-5.0.51b.tar.gz

cd mysql-5.0.51b

./configure --with-charset=latin1 --with-extra-charsets=all --enable-assembler --with-mysqld-ldflags=-all-static --with-mysqld-user=mysql --prefix=/usr/local/mysql-5.0.51b --localstatedir=/data/mysql5051_db

make

make install

ln -s /usr/local/mysql-5.0.51b /usr/local/mysql

mkdir -p /data/mysql5051_db/dbdata

mkdir -p /data/mysql5051_db/innodb

mkdir -p /data/mysql5051_db/binlog

chown -R mysql:mysql  /data/mysql5051_db

chmod -R 775 /data/mysql5051_db

cd /usr/local/src/mysql-5.0.51b

vim ./scripts/mysql_install_db中的ldata=/data/mysql5051_db/dbdata

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

/usr/local/mysql-5.0.51b/bin/mysql_install_db --basedir=/usr/local/mysql-5.0.51b --ldata=/data/mysql5051_db/dbdata --user=mysql

vim /etc/my.cnf

bind-address    = 192.168.0.8

datadir     = /data/mysql5051_db/dbdata/

pid-file    = /data/mysql5051_db/my.pid

log-slow-queries=/data/mysql5051_db/dbdata/slowquery.sql

log-bin  = /data/mysql5051_db/binlog/sortrepl.log

################innodb####################

# Uncomment the following if you are using InnoDB tables

innodb_data_home_dir = /data/mysql5051_db/innodb/

innodb_data_file_path = ibdata1:1000M;ibdata2:1000M:autoextend:max:800M

innodb_log_group_home_dir = /data/mysql5051_db/innodb/

innodb_log_arch_dir = /data/mysql5051_db/innodb/

# You can set .._buffer_pool_size up to 50 - 80 %

# of RAM but beware of setting memory usage too high

innodb_buffer_pool_size = 600M

innodb_additional_mem_pool_size = 20M

# Set .._log_file_size to 25 % of buffer pool size

innodb_log_files_in_group = 4

innodb_log_file_size = 400M

innodb_log_buffer_size = 160M

innodb_flush_log_at_trx_commit = 0

innodb_thread_concurrency = 8

#innodb_flush_method = O_DSYNC

innodb_lock_wait_timeout = 50

################innodb####################

#啓動服務

# /usr/local/mysql/bin/mysqld_safe -umysql &

# /usr/local/mysql-5.0.51b/bin/mysql

#關閉服務

# /usr/local/mysql/bin/mysqladmin shutdown

################################# mysql 完整安裝完成 ###########################

按照上面的步驟兩臺服務器同時安裝,並保證可以啓動mysql

1. 理想情況,應在主服務器和從服務器上使用最近版本的MySQL。

2. 在主服務器上爲服務器設置一個連接賬戶。

mysql> GRANT REPLICATION SLAVE ON *.* TO 'test'@'192.168.0.2' IDENTIFIED BY 'db@test';

3. 關閉主從數據庫

linux-A:/data # /usr/local/mysql/bin/mysqladmin shutdown

linux-B:/data # /usr/local/mysql/bin/mysqladmin shutdown

linux-A:/etc # vi my.cnf

    在[mysqld] 段內加入

    server-id             = 1                #設置主機id標識

    binlog-do-db      = test            #設置需要同步的數據庫,如果有多個數據庫,每個數據庫一行

    log-bin = /data/mysql5051_db/binlog/master.log  #mysql日誌

7. 修改從數據庫的配置文件 my.cnf

linux-B:/etc # vi my.cnf

    在[mysqld] 段內加入

    server-id      = 2                       #設置從機id標識,如果有多個從機,可以順序增加ID爲3,4...

    master-host    = 192.168.0.1             #主機地址

    master-user    = test                    #主機mysql數據庫用戶

    master-password    = db@test              #主機mysql數據庫密碼

    replicate-do-db    = test           #同步的數據庫,如果有多個數據庫,每個數據庫一行

    log-bin     = /data/mysql5051_db/binlog/slave.log #本機mysql日誌

    relay-log   = /data/mysql5051_db/binlog/relay.log #同步日誌

    log-slave-updates                        #同步方式

    read-only

    master-connect-retry=60

8. 開啓主從數據庫

/usr/local/mysql/bin/mysqld_safe -umysql &

9. 看同步情況

mysql> show slave status\G

           Slave_IO_Running: Yes

          Slave_SQL_Running: Yes

   證明同步已經成功!

10.導入數據

主:

create database test

這裏備機也會有這個庫了,也就是說MYSQL將創建數據庫的操作也同步了,夠強吧。

然後,再把數據導入即可:

root@test:/data# /usr/local/mysql/bin/mysql test <./db.dump

上備機,查看數據,也已經OK。

 

mysql啓動時,如果./configure時不指定--defaults-extra-file=/usr/local/mysql/data/my-small.cnf

默認就是--defaults-extra-file=/etc/my.cnf

發佈了46 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章