Linux设置MySQL主从配置
准备工作
- 一台虚拟机
- 一个Linux.ISO镜像文件
- 将镜像安装到虚拟机中
- xshell软件。
以上工作请自行百度
这里需要设置一下笔记本的网卡地址。和虚拟机的网卡地址。IP4的。
右键这个图标。
选择 打开网络和Internet设置
选择更改适配器设置
选择 1.VMware Network Adapter VMnet8 2.右键属性
选择 版本协议4 。手动设置IP地址。这一步很重要。一会需要设置虚拟机的IP地址。和ping虚拟机的地址。第三个网段一定要和虚拟机的一致。不然Windows中ping不通。
这里设置虚拟机地址。
现在设置虚拟机的IP地址。不会的就按照我的设置成一样的。
设置完成后。点击应用。再找到电源按钮。选择重启。
重启完成后。在Windows的控制台ping一下虚拟机。看看是否可以连接。
可以看到ping通了。0%的数据包丢失。
接下来。就可以安装MySQL了。MariaDB也可以。
打开xshell。建立链接。
查询是否安装MySQL
rpm -qa | grep mysql
这里可以看出没有安装。
安装教程。可以按照该文章进行安装。
MySQL的安装教程
不知道系统版本的。可以复制下面命令。查看系统版本我是CentOS7 红帽子。
cat /proc/version
如果安装MariaDB的话。点击下面的链接。
centos7 yum成功配置安装Mariadb数据库(使用国内Mariadb源)
这里我们使用mysql文件进行安装。
首先。查找centos中的MariaDB文件。这个系统7以后会自带。
输入命令rpm -qa | grep mariadb
rpm -qa | grep mariadb
然后删除。命令:yum remove mariadb-libs-5.5.64-1.el7.x86_64
yum remove mariadb-libs-5.5.64-1.el7.x86_64
这里输入y。回车就行了。
在xshell中进入指定文件夹
cd /usr/local/src/
mkdir mysql
cd mysql/
再将我们的文件拖入xshell。
解压tar文件 tar -xvf Mysqlxxxxxxxxxxxxxxxxxxx.tar
tar -xvf MySQL-5.6.48-1.el7.x86_64.rpm-bundle.tar
包裹名字 | 摘要 |
---|---|
-MySQL-server - | -数据库服务器和相关工具- |
MySQL-client | MySQL客户端应用程序和工具 |
MySQL-devel | MySQL数据库客户端应用程序的开发头文件和库 |
MySQL-shared | MySQL数据库客户端应用程序的共享库 |
MySQL-shared-compat | 以前的MySQL安装的共享兼容性库 |
MySQL-embedded | MySQL嵌入式库 |
MySQL-test | MySQL服务器的测试套件 |
在大多数情况下,您需要安装 MySQL-server和 MySQL-client以获得功能性的标准MySQL安装。要执行这种标准的最小安装,请转到包含所有那些软件包的文件夹(最好不要包含其他名称相似的RPM软件包),然后发出以下命令(对于SLES系统,将yum替换为 zypper)
我们先安装mysql服务
yum install MySQL-server-5.6.48-1.el7.x86_64.rpm
使用yum安装
这里一样。输入y敲回车
出现完毕。我们的mysql服务就装好了。
输入命令。启动我们的服务。service mysql start
service mysql start
接下来可以再装客户端
yum install MySQL-client-*
yum install MySQL-client-5.6.48-1.el7.x86_64.rpm
下面报的错误我们不用管它。
继续输入y。敲回车。即可安装完成。
最小安装完成。
它会自动生成一个随机密码。接下来需要找到mysql的密码。输入命令
cat /root/.mysql_secret
接下来进入mysql 。这里的密码是随机的。复制你自己的就好。
mysql -u root -p 6xr198yv9S4vLV59
登录完成后。查看数据库。
show databases;
提示:要重置密码。输入命令
set password=password('root');
Ctrl+C退出mysql。 使用新的密码登录
查看数据库
这里数据库就安装好了。接下来我们开放数据库权限。
grant all on *.* to 'root'@'%' identified by 'root';
开放所有数据,可以被任意ip地址连接。用户名和密码都是root
也可以使用命令
source 全路径+文件名.sql
注意这个命令需要登录mysql。
这里我习惯使用工具来导入数据。所以需要开放指定端口。命令
firewall-cmd --add-port=3306/tcp --permanent
后面的是查看端口是否开放。这里命令有点错误。因为多加了个–permanent参数。这里我们需要再输入一个命令使刚刚的命令生效
firewall-cmd --raload
查看防火墙指定端口命令
firewall-cmd --query-port=3306/tcp
看到yes。就可以用Windows中的工具连接mysql了
这里填写虚拟机的ip地址。
导入文件这里就不演示了。
直接设置my.cnf文件。
cd /etc/my.cnf
因为版本问题。这里可能不太一样。
添加两个配置,代码
server_id = 1
log_bin=mysql-bin
重启mysql
也可以使用service mysql restart
启动成功后悔出现这个文件。说明配置成功。
文件夹路径 cd /var/lib/mysql
接下来直接克隆一个虚拟机。
如果挂起不能克隆。建议先添加快照。
克隆选择完全克隆。
修改ip地址为192.168.1.192
在xshell 中添加该连接
进入mysql文件夹
cd /var/lib/mysql
修改auto.cnf
vim auto.cnf
将里面的uuid值修改一下即可。这里不做详细说明。
修改my.cnf将server_id值1修改为2
使用工具连接数据库。连接前确定防火墙关闭和数据库权限开放。
建立好2个连接
在主库点击查询。新建查询语句。
SHOW MASTER STATUS
输入后点击运行按钮
查询出主库的二进制文件信息和游标信息后
在从库中点击查询。输入sql语句
CHANGE MASTER TO MASTER_HOST="192.168.1.191",
MASTER_PORT=3306,
MASTER_USER="root",
MASTER_PASSWORD="root",
MASTER_LOG_FILE="mysql-bin.000002",
MASTER_LOG_POS=120;
建立挂载关系。
启动Slave
START SLAVE
最后查询从库状态
SHOW SLAVE STATUS;
可以看到刚刚设置的东西都生效了。
主要查看IO线程和sql线程是否是运行状态
yes 说明成功。
接下来。我们在主库中新建一个数据库或表。刷新一下。看看从库是否能够复制主库的数据库或表。
新建库和表
我这里刷新不好用。重新打开了一下。发现有主库中的数据库了。
测试成功。主从复制。
总结。因为没有设置mysql开机启动。导致开机后工具连接不上数据库。各种报错。mysql中的文件不要乱删。会导致各种启动失败。以后要注意。