Linux下面安装和配置MySQL

如何从MySQL官方Yum仓库安装MySQL5.6

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

Download MySQL Yum Repository

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

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

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

安装MYSQL官方教程:http://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.html

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

sudo yum install mysql-community-server -y

启动MYSQL服务:

service mysqld start

 

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 查看软连接

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

那么应该是和selinux有关,

解决办法:

vi /etc/selinux/config
修改selinux=disabled或者permissive

  

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错误

需要重新初始化user表

mysql_install_db --user=mysql 

service mysqld start --启动mysql

设置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。

MySQL下查看用户和建立用户

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

2、查看主库日志:

SHOW MASTER STATUS;

 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;

4、启动从库

start slave;  --启动从库
stop slave; --停止从库

5、查看从库日志

SHOW SLAVE STATUS\G;

注意查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上这两个参数的值为Yes,即说明配置成功!

转:http://www.cnblogs.com/alvin_xp/p/4162249.html

 

http://www.cnblogs.com/cchun/p/3712637.html

 

数据搬家

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'; 

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

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

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

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

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

mysql>show processlist;
mysql>set global general_log=on;   #开启全局日志记录
#tail -f /data/mysqldata/数据库-master.log
mysql>set global general_log=off;  #关闭全局日志记录

8.在新主库上停掉复制

mysql>stop slave; #断掉slave线程
mysql>reset slave all; # 清空主从配置信息

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';

数据搬家完毕

posted @ 2015-08-28 16:09  —八戒—  阅读(507)  评论(0编辑  收藏  举报