linux mysql的安装和配置文件_Linux下面安装和配置MySQL

首先我们需要从MySQL开发者网站下载Yum仓库文件

从上面的连接地址下载:Red Hat Enterprise Linux 6 / Oracle Linux 6 (Architecture Independent), RPM Package ,点击下载

84bedc9fbc08919e82037ed2b03b7c8d.png

下载完成后将Yum库导入到你的本地:

sudo yum localinstall mysql-community-release-el6-5.noarch.rpm -y

mysql-community-release-el6-5.noarch.rpm这个Yum库包含了MySQL Server,MySQL工作台管理工具以及ODBC驱动,现在可以通过下面的命令简单地安装MySQLServer:

sudo yum install mysql-community-server -y

609d4997ded36d44730d99ab1ba360fa.png

启动MYSQL服务:

service mysqld start

66addf8b468f0874242c831c51fe3eff.png

4ba7ebbb130c47d65a275c09248cf01d.png

chkconfig --list

chkconfig mysqld on --设置服务自启动

chkconfig --list

如果需要修改MySQL数据存放位置,需要先停止mysql服务

mv /var/lib/mysql /data/mysql  移动默认数据库的存放位置

ln -s /data/mysql /var/lib/mysql  创建软连接

ll /var/lib/mysql 查看软连接

dc1c31029b201b996f446322d39f9159.png

然后修改/etc/my.cnf文件,在启动mysql服务。如果启动服务器,日志里报错显示:“/usr/sbin/mysqld: Can't change dir to '/data/mysql/' (Errcode: 13)”

97d1149c702640005cd52f1e3456f2d2.png

那么应该是和selinux有关,

8f634932f5e3706618dad75b7f467dcf.png

解决办法:

vi /etc/selinux/config

修改selinux=disabled或者permissive

d292fe37e03d5c3ccd376ef1144f6921.png

setenforce 0 --临时关闭selinux模式或者重起linux服务器,然后就OK了。

设置防火墙:

iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

service iptables save

service iptables restart

cat/etc/sysconfig/iptables

如果启动出:[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist错误

5f8240c625be6c646170d3f7365b4d64.png

需要重新初始化user表

mysql_install_db --user=mysql

6cf413e0171467332f6cfef68dda771f.png

service mysqld start --启动mysql

bc17c039ff53e551173cfb26de775feb.png

设置MYSQL主从

0、my.cnf

server_id=n --设置唯一标识

1、登陆主库并创建一个用户‘repl’,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。

mysql -P13306 -u root -p //登陆MySQL

create user repl;  //创建新用户

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.7.%' IDENTIFIED BY 'mysql'; //repl用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为mysql。说明一下192.168.7.%,这个配置是指明repl用户所在服务器,这里%是通配符,表示192.168.7.0-192.168.7.255的Server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。

01f278b82019577b1fe14f9caf95309b.png

use mysql;select host,user from mysql.user;

2、查看主库日志:

SHOW MASTER STATUS;

e20149e8dd8b3c3cb6cb22570e6b7df3.png

3、登录从库

mysql -P13306 -u root --登录从库

change master to master_host='192.168.7.245', //Master 服务器Ip

master_port=13306,

master_user='repl',

master_password='mysql',

master_log_file='mysqlmaster-bin.000006', //Master服务器产生的日志

master_log_pos=415;

55879dea490d347a8a20ad3b43c9bb22.png

4、启动从库

start slave; --启动从库

stop slave; --停止从库

d8720972a7aab389d202522e33ef55c9.png

5、查看从库日志

SHOW SLAVE STATUS\G;

0d346f7eec9c7e5257d192e86d3de55b.png

注意查看:

Slave_IO_Running: YesSlave_SQL_Running: Yes以上这两个参数的值为Yes,即说明配置成功!

数据搬家

1.执行还原之前阻止新数据写入,例如:停止洛杉矶的atlas服务(省略)

2,洛杉矶老主库上,执行备份脚本(省略)

3,纽约新主库执行:还原洛杉矶老库数据库(省略)

4,搬家脚本

#mysql -uroot -p端口

mysql>system gdb -p $(pidof mysqld) -ex "set opt_log_slave_updates=1" -batch #让纽约的主库开始同步洛杉矶主库的数据计入relaylog,便于纽约其他的从库能够复制新主库的binlog

mysql>show variables like 'log_slave_updates';

24d54984c0a06abf5808b8a0f9322cfa.png

4fa1952349db8995757b64a02260e53d.png

5.在纽约新库上创建与老库相同的的复制用户,例如:uid:slave,pwd:123456

6.到纽约备份文件里面看日志点,备份文件是从洛杉矶copy到纽约机器的

#head -30 mysql_****_website.sql 查看后备份的数据库文件

c19ca7f58ec35c14d22f391849d11a7b.png

7.等待执行完备份后,在新主库上执行change master to 洛杉矶老主库

mysql>change master to master_host='洛杉矶老主库的IP地址', master_user='slave',master_password='123456',master_port=端口号,master_log_file='mysqlmaster-bin.000996',master_log_pos=48047;

mysql>start slave;

mysql>show slave status\G

3ee658b2394767164680718677b8189b.png

查看数据是否到新的数据库了

mysql>show processlist;

mysql>set global general_log=on; #开启全局日志记录

#tail-f /data/mysqldata/数据库-master.log

mysql>set global general_log=off; #关闭全局日志记录

ed832b94880c4b4284a3b3e66e3f1f30.png

8.在新主库上停掉复制

mysql>stop slave; #断掉slave线程

mysql>reset slave all; # 清空主从配置信息

f39677c0fb6aa8be73c1317a4651c5a6.png

a78e2cf17a50f2e6b15c2272498838d6.png

9.新主库执行:system gdb -p $(pidof mysqld) -ex "set opt_log_slave_updates=0" -batch 关闭该参数

mysql>system gdb -p $(pidof mysqld) -ex "set opt_log_slave_updates=0" -batch

mysql>show variables like 'log_slave_updates';

6346fecf01e29290d24d2ccc28b046b8.png

数据搬家完毕

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值