標籤:mysql 伺服器 命名 local
一:mysql主從配置環境
在同一台伺服器中建立mysql主從
mysql-5.1.72-linux-i686-glibc23.tar.gz
二:搭建步驟
1、下載:cd /usr/local/src ; wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.72-linux-i686-glibc23.tar.gz
2、解壓:tar zxvf mysql-5.1.40-linux-i686-icc-glibc23.tar.gz;
移動重新命名:mv mysql-5.1.40-linux-i686-icc-glibc23 ../mysql ; cp -r ../mysql ../mysql2
cd /usr/local/mysql/
3、複製配製檔案及啟動指令碼:
cp ./support-files/my-small.cnf /etc/my.cnf ; cp /etc/my.cnf /usr/local/mysql2/
cp ./support-files/mysql.server /etc/init.d/mysqld ; cp /etc/init.d/mysqld /etc/init.d/mysqld2
4、mysql 資料存放目錄: mkdir -p /data/mysql;mkdir -p /data/mysql2
建立mysql使用者:useradd -s /sbin/nologin mysql
更改目錄許可權:chown -R mysql:mysql /data/mysql ; chown -R mysql:mysql /data/mysql2
5、修改設定檔、啟動指令碼
主mysql vim /etc/init.d/mysqld 修改 basedir datadir
從mysql vim /usr/local/mysql2/my.cnf ; 修改port socket server-id(與主不同)
vim /etc/init.d/mysqld2 修改 basedir datadir conf
6、mysql安裝
主mysql cd /usr/local/mysql/; ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
從mysql cd /usr/local/mysql2/; ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql2
7、啟動主mysql:/etc/init.d/mysqld start
修改主mysql pw : /usr/local/mysql/bin/mysqladmin -uroot password ‘1‘
建立DB:/usr/local/mysql/bin/mysql -uroot -p1 -e ‘create database db1‘
將mysqlDatabase Backup:/usr/local/mysql/bin/mysqldump -uroot -p1 mysql > mysql.sql
匯入db1庫中:/usr/local/mysql/bin/mysql -uroot -p1 db1 < mysql.sql
8、修改主mysql配置 vim /etc/my.cnf 新增log-bin=mysql-bin(自訂) binlog-do-db=mysql,db1 ,重啟
9、賦使用者同步許可權 grant replication slave on *.* to ‘wql‘@‘127.0.0.1‘ identified by ‘wql‘; flush privileges;
10、從mysql建立db1 ,匯入mysql.sql 入db1
/usr/local/mysql2/bin/mysqladmin -uroot password ‘2‘ -S /tmp/mysql2.sock
/usr/local/mysql2/bin/mysql -uroot -p2 -S /tmp/mysql2.sock -e ‘create database db1‘
/usr/local/mysql2/bin/mysql -uroot -p2 -S /tmp/mysql2.sock db1 < mysql.sql
11、修改從mysql配置 vim /usr/local/my.cnf log-bin=mysql-bin(自訂) replicate-do-db=mysql,db1 ,重啟
12、進入主mysql,鎖表,查看狀態;
flush tables with read lock;
show master status;
進入從mysql
slave stop;
change master to master_host=‘127.0.0.1‘, master_port=3306, master_user=‘wql‘, master_password=‘wql‘, master_log_file=‘mysql-bin.000002‘, master_log_pos=106;
slave start;
show slave status;
13、測試效果,重啟主從mysql
進入主mysql的db1資料庫中,刪除一table後,進從mysql查看,此table是否存在;是不存在,則主從配置成功,如仍在,則主從配置不成功。
三:問題
報以下錯誤:
1、[[email protected] /]# service mysqld start
Starting MySQL. ERROR! Manager of pid-file quit without updating file.
在主mysql中加入了
log-bin=mysql-bin
binlog-do-db=database1,database2 或 binlog-ignore-db=database1,database2兩項導致出錯
最主要的原因在於mysql未安裝,未執行./script/mysql-install-db --user=mysql --datadir=/data/mysql
2、配置好後,主從一直無法同步,主要是在配置從上未按下面配置好
主mysql:
log-bin=mysql-bin
binlog-do-db=database1,database2 或 binlog-ignore-db=database1,database2
重啟 /etc/init.d/mysqld restart
從mysql:
log-bin=mysql-bin
replication-do-db=database1,database2 或 replication-ignore-db=database1,database2
重啟 /etc/init.d/mysqld2 restart
mysql主從配置