准备工作
执行如下命令安装依赖:
# yum install gcc gcc-c++ ncurses-devel zip make cmake
执行如下命令(确保系统内无mysql的遗留信息):
rm –rf /etc/my.cnf
userdel mysql
groupdel mysql
安装mysql前需要查询系统中含有的有关mysql的软
rpm -qa | grep -i mysql //grep -i不分大小写,含有mysql就显示如下信息:
mysql-libs-5.1.71-1.el6.i686 //它是好几个软件的依赖,其中在mini版本中postfix软件依赖mysql-libs,网上很多建议都是直接删除,
# yum remove mysql-libs //或者执行下面命令
# rpm -e --nodeps mysql-libs-5.1.71-1.el6.i686 //这样做不是最好的办法。
安装mysql
1.上传 mysql-5.6.22.tar.gz 到 /opt/soft下:
# rz
2.进入 /opt/soft:
# cd /opt/soft
3.解压安装包 :
# tar -zxvf mysql-5.6.22.tar.gz
4.创建安装需要的目录:
# mkdir -p /opt/usr/mysql
# mkdir -p /opt/data/mysql
# mkdir -p /opt/log/mysql
# cd /opt/soft/mysql-5.6.22
# cmake -DCMAKE_INSTALL_PREFIX=/opt/usr/mysql/mysql-5.6.22 \
-DMYSQL_DATADIR=/opt/data/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1
成功后进行编译安装,执行如下命令:
# make -j2 && make install -j2
8.上传mysql配置文件my.cnf:
9.初始化数据库:
# ./mysql_install_db --basedir=/opt/usr/mysql/mysql-5.6.22 --datadir=/opt/data/mysql --user=root -- defaults-file=/opt/usr/mysql/mysql-5.6.22/etc/my.cnf
# cd /opt/usr/mysql/mysql-5.6.22/support-files
# cp mysql.server ../
编辑mysql.server的283行,添加参数:--user="root"
可以使用:set nu查看行号
进入到/opt/data/mysql目录下,执行如下命令:
rm –rf auto.cnf (防止相同的UUID)
auto_increment_increment=2 (步进值为2使得两条绝对同时插入的纪录不产生冲突)
auto_increment_offset=1(偏移量为1)
log_slave_updates=1
auto_increment_increment=2
auto_increment_offset=2(偏移量为2)
log_slave_updates=1
sh mysql.server start
GRANT REPLICATION SLAVE ON *.* to 'repl'@'192.168.1.%' identified by 'repl';(注意自己所在网段,末尾用%代替)
GRANT REPLICATION SLAVE ON *.* to 'repl'@'192.168.1.%' identified by 'repl';
show master status
记录file和position变量
生成如下命令并将如下命令在从库上执行:
change master to
master_host='192.168.56.101',#代表主库的IP
master_user='repl',
master_password='repl',
master_log_file='mysql-bin.000004',#file
master_log_pos=334;#position
将该命名在从库上执行
show master status
记录file和position变量
生成如下命令并将如下命令在主库上执行:
change master to
master_host='192.168.56.102', #代表主库的IP
master_user='repl',
master_password='repl',
master_log_file='mysql-bin.000004', #file
master_log_pos=120; #position
start slave;
start slave;
show slave status \G;
create database jiajiaozaixian;(如果主主成功,在主库创建后,从库自动复制)
grant all privileges on jiajiaozaixian.* to jiajiaozaixian@'%' identified by ' jiajiaozaixian_123';
先检查change master to 命令所指定的ip、用户等信息是否正确;然后确认防火墙已关闭(Service iptables stop);然后检查mysql.enf中增加的配置是否有误。
将mysql.server这个文件copy到/etc/init.d/目录下,改名成mysql
# cp support-files/mysql.server /etc/init.d/mysql
# chmod 755 /etc/init.d/mysql //给mysql这个文件赋予“执行”权限
# chkconfig --add mysql //加入到开机自动运行
# service mysql restart //重新启动MySQL
# chkconfig --list mysql //查看mysql是否开机启动