nothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothing
2011年(14)
分类: 系统运维
2011-11-08 09:55:14
约定:
操作系统:
MySQL主服务器使用CentOS 5.4系统;从服务器使用Windows server 2003系统,
IP:
主服务器IP:192.168.0.3
从服务器IP:192.168.0.4
软件版本:
php php-5.1.6-23.2.el5_3
MySQL mysql-server-5.0.77-3.el5
Apache httpd-2.2.3-31.el5.centos
APMServ APMServ 5.2.6
phpMyAdmin phpMyAdmin-2.11.11.2-all-languages
软件安装方式:
YUM方式安装MySQL
安装思路:
1、在主服务器上建Mysql用户,使其能远程登陆
2、编辑主服务器的配置文件
#vi /etc/my.cnf
server-id=1
log-bin
binglog-do-db=备份库名
binglog-ignore-db=不备份库名
3、配置从服务器
vi /etc/my.cnf
server-id=2
master-host=192.168.1.9(主IP)
master-user=admin(帐号)
master-password=7758521(密码)
master-port=3306(端口)
replicate-do-db=booboo(库名)
一、主服务器配置
安装MySQL
#yum install –y mysql mysql-server
安装Apache、php
#yum install –y httpd php php-mysql
启动服务
# service httpd start
# service mysqld start
#chkconfig httpd on
#chkconfig mysqld on
二、创建主服务器MySQL的远程用户
1、安装web界面管理MySQL的软件phpMyAdmin
phpMyAdmin从官网并安装,我们这里下载到了phpMyAdmin-3.4.7-all-languages.zip
注意:phpMyAdmin-3.x以上的版本要求PHP的版本在5.2x以上,我们可以先卸载开始安装的php,从php官网上 下载源码包进行编译安装
如果希望使用rpm包安装的低版本php 5.1x,则需要安装低版本的phpMyAdmin-2.x,我们这里用了phpMyAdmin-2.11.11.2
#unzip phpMyAdmin.zip
#mv phpMyAdmin /var/www/html/php
修改phpmyadmin的配置文件
#vi /var/www/html/php/libraries/config.default.php
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'he’; #此处是root用户的密码,如果root用户的密码为#空,这里也为空
$cfg['Servers'][$i]['only_db'] = '';
2、创建MySQL的远程用户admin
在浏览器中输入:
使用phpMyAdmin登录到MySQL,然后创建远程用户admin
权限à添加新用户:输入用户名和密码,赋予全部的权限,点击[执行]。
三、从服务器配置
在远程客户端Windows上安装APMServ,从这里下载,APMServ是集成了LAMP的,这里使用了APMServ5.2.6,安装这款软件时,安装路径不能有空格或汉字,否则服务不能成功启动。
然后在 “我的电脑“à属性à高级à新建一个环境变量值为APMServ中的MySQL可执行目录解压的路径D:\APMServ\APMServ5.2.6\MySQL5.1\bin
然后使用命令行远程登录测试
C:\>mysql -h 192.168.0.3 -u admin -p
启动从服务器的LAMP
四、创建主、从数据库bbk
1、主服务器创建bbk数据库
# mysql -u root -p
mysql> create database bbk;
mysql> show databases;
2、从服务器也同样创建一个bbk数据库
C:\>mysql -u root -p
mysql> create database bbk;
mysql> show databases;
五、配置主、从服务器的数据库配置文件
1、配置主服务器
# vi/etc/my.cnf 增加红色部分
[mysqld]
###################
server-id=1
log-bin
##################
# service mysqld restart 重启mysql
# mysql -u root –p
mysql> show master status; 查看主MySQL的工作状态
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| mysqld-bin.000001 | 98 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
2、配置从服务器
用文本编辑器打开my.ini
D:\APMServ\APMServ5.2.6\MySQL5.1\my.ini #增加红色部分
[mysqld]
basedir=D:/APMServ/APMServ5.2.6/MySQL5.1
datadir=D:/APMServ/APMServ5.2.6/MySQL5.1/data
port=3306
interactive_timeout=240
wait_timeout=240
#####################################
server-id=2
master-host=192.168.0.3
master-port=3306
master-user=admin
master-password=he
master-connect-retry=60
replicate-do-db=bbk
#######################################
重启APMServ
查看从服务器的状态
mysql>mysql –u root -p
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.0.3
Master_User: admin
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysqld-bin.000001
Read_Master_Log_Pos: 98
Relay_Log_File: 20110305-0301-relay-bin.000004
Relay_Log_Pos: 244
Relay_Master_Log_File: mysqld-bin.000001
Slave_IO_Running: Yes #这三个状态是最重要的参数
Slave_SQL_Running: Yes
Replicate_Do_DB: bbk
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 98
Relay_Log_Space: 407
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
1 row in set (0.00 sec)
相关的命令
Slave start
Slave stop
Reset slave
Show slave status
Show master status
六、测试数据
1、主服务器写入数据
mysql>mysql –u root -p
mysql> use bbk;
mysql> create table t(id int,name char(10));
mysql> insert into t values(112,'hexianbin');
mysql> show tables;
+---------------+
| Tables_in_bbk |
+---------------+
| t |
+---------------+
mysql> select * from t;
+------+-----------+
| id | name |
+------+-----------+
| 112 | hexianbin |
+------+-----------+
1 row in set (0.00 sec)
从服务器的数据同步查看
mysql> use bbk;
Database changed
mysql> show tables;
+---------------+
| Tables_in_bbk |
+---------------+
| t |
+---------------+
mysql> select * from t;
+------+-----------+
| id | name |
+------+-----------+
| 112 | hexianbin |
+------+-----------+
至此,mysql主从服务器配置结束
故障排除
问题一:
登录phpMyAdmin测试:
提示:需要安装PHP 5.2以上的版本。
方法一:安装phpMyAdmin-2.9.0.2
下载phpMyAdmin-2.9.0.1
#unzip phpMyAdmin.zip
#mv phpMyAdmin /var/www/html/php
#cd /var/www/html/php
#vi libraries/config.default.php
#vi config.inc.php
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = 'he'; // MySQL password
$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port一般默认
方法二:源码安装PHP-5.3.8(未完)
php从 下载
# tar -xvf php-5.3.8.tar.bz2
问题二:web登录到phpMyAdmin上,
提示:在没有发现 PHP 的扩展设置mbstring, 而当前系统好像在使用宽字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果.
解决:安装php-mbsting的rpm包
# rpm -ivh php-mbstring-5.1.6-23.2.el5_3.i386.rpm
# service httpd restart
问题三:
安装并启动APMServ 5.2.6失败
原因:错误的解压路径:(文件夹有空格),注意解压的路径不能有空格或汉字,否则出错。
D:\Program Files\APMServ
错误提示:
正确的解压路径:
D:\APMServ\APMServ5.2.6
问题四:修改密码
安装完MySQL后,登录数据库
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
解决方法:
# service mysqld stop 关闭Mysql服务
# mysqld_safe --skip-grant-table & 屏蔽权限
Starting mysqld daemon with databases from /var/lib/mysql
# mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD('he') where USER='root'; 修改root密码
mysql> FLUSH PRIVILEGES;
mysql> \q
修改后进行登录
# mysql -u root -p
Enter password:
问题五:权限问题
# yum install -y mysql-server
# /usr/bin/mysql start
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
解决:权限问题
# chown -R mysql:mysql /var/lib/mysql/
# mysql -u root -p
Enter password: 空密码,按Enter键