一 安装MysqL
MysqL官网下载MysqL的red hat linux安装包
下载地址为:http://dev.MysqL.com/downloads/MysqL/5.5.html#downloads
下载后的文件为:MysqL-5.5.53-1.el7.x86_64.rpm-bundle.tar
解压 tar 包 :tar -xvf MysqL-5.5.53-1.el7.x86_64.rpm-bundle.tar
移动所有的rpm包到MysqL目录下 :mkdir MysqL; mv *.rpm ./MysqL
安装MysqL 只需要安装 MysqL-server和MysqL-client包即可
使用命令安装 :rpm -ivhMysqL-server-5.5.53-1.el7.x86_64.rpm 抛出异常:
[root@localhost MysqL]# rpm -ivh MysqL-server-5.5.53-1.el7.x86_64.rpm
warning: MysqL-server-5.5.53-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature,key ID 5072e1f5: NOKEY
error: Failed dependencies:
libaio.so.1()(64bit) is needed by MysqL-server-5.5.53-1.el7.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by MysqL-server-5.5.53-1.el7.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by MysqL-server-5.5.53-1.el7.x86_64
net-tools is needed by MysqL-server-5.5.53-1.el7.x86_64
说明安装MysqL 需要 libaio和net-tools库还有perl库 下载这三个库 安装
如果linux已联网 可以直接使用yum安装
yum install libaio;
yum install net-tools
yum install perl;
如果想把rpm包下载下来保存 可以使用命令 yum install libaio --downloadonley --downloaddir=保存下载包的目录
安装完成检测下 是否安装成功
[root@localhost MysqL]# rpm -qa | grep net-tools
net-tools-2.0-0.17.20131004git.el7.x86_64
[root@localhost MysqL]# rpm -qa | grep libaio
libaio-0.3.109-13.el7.x86_64
有时centos中默认已安装了 数据库mariadb 是MysqL的一个分支 需要预先卸载才能安装
查找 该数据库
[root@localhost MysqL]# rpm -qa | grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
卸载:rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps
接下来 安装就一路ok了
rpm -ivh MysqL-server-5.5.53-1.el7.x86_64.rpm
安装过程中会存在一个警告:
warning: user MysqL does not exist - using root
warning: group MysqL does not exist - using root
一般安装MysqL步骤 最好新建一个MysqL组 和一个MysqL用户 MysqL用户属于MysqL组 如果没有 默认使用root用户
rpm -ivh MysqL-client-5.5.53-1.el7.x86_64.rpm
安装完成后 启动MysqL : service MysqL start
MysqL -uroot
修改密码:
use MysqL;
update user set password=password('root'); //或者 set password=password('密码');
flush privileges;
即可
二 配置MysqL主从复制
原理:
(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events );
(2) slave将master的binary log events拷贝到它的中继日志(relay log);
(3) slave重做中继日志中的事件,将改变反映它自己的数据。
MysqL5.5.53默认通过/etc/rc.d/init.d/MysqL脚本中设置的参数设置数据目录 ,端口等其他信息
可以通过 ps -ef | grep MysqL 查看一些基本参数 数据目录:--datadir=/var/lib/MysqL 端口:--port=3306
[root@localhost init.d]# ps -ef | grep MysqL
root 11408 1 0 01:26 pts/0 00:00:00 /bin/sh /usr/bin/MysqLd_safe --datadir=/var/lib/MysqL --pid-file=/var/lib/MysqL/localhost.localdomain.pid
MysqL 11698 11408 0 01:26 pts/0 00:00:00 /usr/sbin/MysqLd --basedir=/usr --datadir=/var/lib/MysqL --plugin-dir=/usr/lib64/MysqL/plugin --user=MysqL --log-error=/var/lib/MysqL/localhost.localdomain.err --pid-file=/var/lib/MysqL/localhost.localdomain.pid --socket=/var/lib/MysqL/MysqL.sock --port=3306
root 11818 2583 0 01:53 pts/0 00:00:00 grep --color=auto MysqL
如果在etc目录下存在 my.cnf文件默认会从这个文件中读取
可以从 /usr/share/MysqL/my-large.cnf 拷贝一个文件到/etc目录
cp/usr/share/MysqL/my-large.cnf /etc/my.,cnf [该文件可以修改默认的字符集等一系列参数(参数名称可以通过 登录MysqL后 show variables 查看)]
拷贝该文件后 默认MysqL启动了二进制日志 log-bin=MysqL-bin 将server-id=某个数字
配置主从复制
比如存在如下服务器【主从服务器都需要设置 上面红色的log-bin和server-id】
master 192.168.117.131
slave 192.168.117.132 [从服务器可以配置多台]
1 配置主服务器
从服务器要从主服务器同步数据 必须先给一个有权限的账号给从服务器连接
主服务器 创建账号:
grant replication slave on *.* to 'slave'@'192.168.117.132' identified by 'test';
MysqL> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| MysqL-bin.000012 | 529 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
2 配置从服务器【从服务器都需要设置 上面红色的log-bin和server-id】
首先在从服务器上看下 是否能用主服务器创建的账号登录 因为有可能会有防火墙阻止
MysqL -uslave -ptest -h192.168.117.131
如果能登陆 表示可以连接主服务器 连接不上 关闭主服务器防火墙 或者 iptables --flush
从服务器登录
MysqL -uroot -proot
设置主服务器信息
change master to
master_host='192.168.117.131',
master_user='slave',
master_password='test',
master_log_file='MysqL-bin.000012',
master_log_pos=529;
启动(注意 看pid是否已经设置了 show variables like 'server-id') 如果为0 修改my.ini中server-id参数
start slave
测试
在主服务器创建数据库和表 在从服务器检测 如果存在则复制成功
原文链接:/centos/379655.html