MySQL主从配置,可以实现读写分离,从而减轻数据库的压力
安装MySQL
1. 查询本地已安装的mysql,命令 : rpm -qa | grep mysql
2. 卸载已安装的mysql,命令 : rpm -e --nodeps [文件名]
3. 利用xFtp上传文件到/usr/local目录
4. 创建文件夹mysql, 命令 : mkdir mysql
5. 将文件统一解压到/usr/local/mysql目录.命令 : tar -xvf [文件名] -C mysql
6. 进入/usr/local/mysql目录,安装客户端,命令 : rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm
7. 进入/usr/local/mysql目录,安装服务器端,命令 : rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm
8. 启动mysql,命令 : service mysql start
9. 查看mysql状态,命令 : service mysql status
10. 设置root用户密码, 命令 : /usr/bin/mysqladmin -u root password 'password'
11. 连接mysql,命令 : mysql -u root -p
12. 添加mysql到系统服务,命令 : chkconfig --add mysql
13. 设置mysql服务为自动启动,命令 : chkconfig mysql on
## 开启MySQL的远程访问
* 开启远程访问
* 进入MySQL,命令 : mysql -u root -p
* 开启远程访问,命令
grant all privileges on *.* to 'root' @'%' identified by 'password';
flush privileges;
* 退出MySQL,命令 : exit;
* 开放3306端口,命令
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
Linux安装mysql 在/etc下没有my.cnf 解决办法:
cd /usr/share/mysql
cp my-medium.cnf /etc/my.cnf
配置Master主服务器:
第一步:修改my.cnf配置文件
[mysqld]
log-bin=mysql-bin
server-id=1 //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号
第二步:
mysql>create user repl; //创建新用户
//repl用户必须具有REPLICATION SLAVE权限
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.176.%' IDENTIFIED BY 'mysql';
第三步:
mysql>show master status;
配置slave从服务器
第一步:修改my.cnf配置文件
[mysqld]
server-id=2 //与master服务器不同即可
第二步:
连接master
mysql>CHANGE MASTER TO
>MASTER_HOST='192.168.176.39', //master主机
>MASTER_USER='repl', //master授权用户
>MASTER_PASSWORD='mysql', //密码
>MASTER_LOG_FILE='mysql-bin.000004', // master file
>MASTER_LOG_POS=730; //master positon
第三步:
启动slave
mysql>start slave;
如果报错:
set global server_id=2;
再启动ok
第四步:
查看连接是否成功
show slave status \G;
主库写入数据,查看丛库是否同步