MySQL主從搭建實現

來源:互聯網
上載者:User

MySQL是應用廣泛的關係型資料庫,當資料規模逐漸擴大,並且重要性不斷提高的情況下,單資料庫的可靠性和效能受到嚴重挑戰,所以就會有了主從,讀寫分離等需求了。

首先在2台linux下安裝mysql,最好是內網機器,可以用內網網卡做主從同步,網路品質和安全都可以得到保證。

1、安裝一些常用包:

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 e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

yum -y install perl perl-URI perl-DBI perl-String newt-perl

2、下載並安裝mysql

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.3-m3.tar.gz/from/http://mysql.he.net/

tar -zxf mysql-5.5.3-m3.tar.gz

3、編譯安裝mysql

cd mysql-5.5.3-m3

./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase,myisammrg &&make &&make install

4、建立mysql使用者和資料檔案夾等

/usr/sbin/groupadd mysql

/usr/sbin/useradd -g mysql mysql

chown -R mysql:mysql /usr/local/mysql
mkdir -p /home/mysql/data

mkdir -p /home/mysql/binlog
mkdir -p /home/mysql/relaylog

chown -R mysql:mysql /home/mysql/*

5、初始化資料庫

/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql/data --user=mysql

6、建立mysql啟動 關閉指令碼:vim /etc/init.d/mysql 如下:

  1. #!/bin/sh   
  2.   
  3.  mysql_port=3306  
  4.  mysql_username="root" //這裡要修改   
  5.  mysql_password="12345" //這裡要修改   
  6.  function_start_mysql()    
  7. {    
  8.      printf "Starting MySQL...\n"    
  9.      /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/my.cnf 2>&1 > /dev/null &    
  10. }    
  11.  function_stop_mysql()    
  12. {    
  13.      printf "Stoping MySQL...\n"    
  14.      /usr/local/mysql/bin/mysqladmin -u ${mysql_username} -p${mysql_password} -S /tmp/mysql.sock shutdown    
  15. }    
  16.  function_restart_mysql()    
  17. {    
  18.      printf "Restarting MySQL...\n"    
  19.       function_stop_mysql   
  20.      sleep 5  
  21.       function_start_mysql   
  22. }    
  23.  function_kill_mysql()    
  24. {    
  25.      kill -9 $(ps -ef |grep 'bin/mysqld_safe'| grep ${mysql_port} | awk '{printf $2}')    
  26.      kill -9 $(ps -ef |grep 'libexec/mysqld' | grep ${mysql_port} | awk '{printf $2}')    
  27. }    
  28. if [ "$1" = "start" ]; then   
  29.       function_start_mysql   
  30.  elif [ "$1" = "stop" ]; then   
  31.       function_stop_mysql   
  32.  elif [ "$1" = "restart" ]; then   
  33.       function_restart_mysql   
  34.  elif [ "$1" = "kill" ]; then   
  35.       function_kill_mysql   
  36. else    
  37.      printf "Usage: /home/mysql/mysql {start;stop;restart;kill}\n"    
  38.  fi  
  • 1
  • 2
  • 3
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.