准备两个虚拟机 使用rz命令将mysql-5.5.22.tar.gz分别上传到主从两台虚拟机中
安装mysql
yum安装依赖环境
yum -y install gcc gcc-c++ lrzsz ncurses-devel cmake
使用rz命令将mysql-5.5.22.tar.gz分别上传到主从两台虚拟机中
创建用户
groupadd mysql
useradd -s /sbin/nologin -M -g mysql mysql
配置 编译 安装
cd mysql-5.5.22/
cmake -DCMAKE_INSTALL_PREFIX=/data/server/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
make && make install
设置数据库目录的权限并建立配置文件
mysql /data/server/mysql/
cp support-files/my-medium.cnf /etc/my.cnf
初始化数据库
/data/server/mysql/scripts/mysql_install_db --user=mysql --basedir=/data/server/mysql --datadir=/data/server/mysql/data/
添加系统服务
cp support-files/mysql.server /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld
chkconfig --add mysqld
设置环境变量
-
echo “PATH=$PATH:/data/server/mysql/bin” /etc/profile
-
/etc/profile
开启服务并做路径优化
systemctl start mysqld
ln -s /data/server/mysql/bin/* /usr/local/bin/
登录mysql数据库验证
mysql -u root -p
*两个虚拟机都做到这一步
配置第一个虚拟机 master主库配置
vim master
[mysqld]
#做以下修改
server-id =11
保存退出
新建用于主从同步的用户myslave并给予权限
mysql -u root -p 进去后输入下两行
mysql> grant replication slave on *.*to’www’@'192.168.1.180’identified by ‘123’;
自己起名字 自己的IP 自己密码
mysql> flush privileges; #刷新授权表
记住上的 ID
开始配置第二个虚拟机
slave从库配置
[root@localhost ~]# vim /etc/my.cnf
[mysqld]
#修改以下行
server-id =12 #不能和master的id号相同
重启数据库并进入mysql数据库交互模式
[root@localhost ~]# /etc/init.d/mysqld restart
[root@localhost ~]# mysql -uroot -p
change master to master_host=‘192.168.1.180’,master_user=‘www’,master_password=‘123’,master_log_file=‘mysql-bin.000003’,master_log_pos=329;
输入自己的IP 自己在第一个虚拟机 mysql 里 设置的 用户 密码 上面图的ID
启动从库的开关
mysql> start slave;
接下来测试
在主库创建一个数据库,在从库查看是否同步
mysql -u root -p
mysql> create database ooo;
Query OK, 1 row affected (0.00 sec)
在第二个虚拟机里输入验证
mysql -u root -p
mysql> show databases;