mysql编译卡主_mysql 编译安装以及主从设定

1. 下载MYSQL源码包至/home/mysql_home。

我下载下来的源码包文件名为:mysql-5.0.45.tar.gz

2. 在/home/mysql_home下,解压。

tar zxvf mysql-5.0.45.tar.gz

3. 进入/home/mysql_home/mysql-5.0.45/,执行:

./configure --with-tcp-port=33007 --localstatedir=/home/mysqldb/mysql_jj//jjdata --with-unix-socket=/home/mysqldb/mysql_jj/mysql_jj.sock --prefix=/home/mysqldb/mysql_jj  --with-big-tables  --with-charset=gbk --with-extra-charsets=all

[命令参考值,来源于网络

--prefix=/usr/local/mysql5

--localstatedir=/var/lib/mysql5 --with-comment=Source

--with-server-suffix=-Community

--with-mysqld-user=mysql

--without-debug

--with-big-tables

--with-charset=gbk --with-collation=gbk_chinese_ci --with-extra-charsets=all

--with-pthread

--enable-static

--enable-thread-safe-client

--with-client-ldflags=-all-static

--with-mysqld-ldflags=-all-static

--enable-assembler

--without-innodb

--without-ndb-debug

]

注意:(注意:!!!在安装第二个数据库时候,虽然在./configure后加上了--localstatedir/home/mysqldb/mysql_jj//jjdata但是并未在/home/mysqldb/mysql_jj下产生jjdata目录,所以我们要在源码包编译安装完成之后先检查一下是否有这个目录,如果没有的话一定要手动创建一个命令:# mkdir /home/mysqldb/mysql_jj//jjdata再执行第八步骤。)

make

make install

configure命令是修改默认的服务器端口和安装目录,数据库编码等参数。

然后安装无错后,

4.  bin/mysql_install_db --user=mysql

(在确保第四步骤正确完成之后,在执行本步骤时,如果正确的话,在/home/mysqldb/mysql_jj/jjdata下将会产生相应的数据库文件。)

5. chown -R root:mysql .       //设置权限,注意后面有一个 "."

6 chown -R mysql /home/mysqldb/mysql_jj  //设置 mysql 目录权限

7. chgrp -R mysql .          //注意后面有一个 "."

8. cp share/mysql/my-huge.cnf /etc/my_jj.cnf

9. cp share/mysql/mysql.server /etc/rc.d/init.d/mysql_jj //开机自动启动 mysql。

10. chmod 755 /etc/rc.d/init.d/mysql_jj

11. chkconfig --add mysql_jj

以下是安装第二个数据库时,对启动文件mysql_jj和配置文件my_jj.cnf做出的必要修改。

===================================================================================

/etc/rc.d/init.d/mysql_jj

修改下面的内容:

1.datadir=/var/lib/mysql_jj

2.conf=/etc/my5.cnf

3.把"$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &"替换为(双引号中的)

"$bindir/mysqld_safe --defaults-file=/etc/my_jj.cnf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &"(双引号中的)

===================================================================================

/etc/my_jj.cnf

修改下面的内容:

port = 3307 ###修改相关的端口

socket文件生成路径

把[client]和[mysqld]中的port号都改成3307,

socket = /tmp/mysql.sock改成socket = /tmp/mysql_jj.sock

[client]

#password = your_password

port = 3307

socket = /tmp/mysql_jj.sock

# Here follows entries for some specific programs

# The MySQL server

[mysqld]

port = 3307

socket = /tmp/mysql_jj.sock

==================================================================================

17# /etc/rc.d/init.d/mysql_jj start           //启动 MySQL

18# bin/mysqladmin -u root password "password_for_root" //修改root密码

主从

mysql服务器的主从配置,本来是一件很简单的事情,无奈不是从零开始,总是在别人已经安装好的mysql服务器之上 ,这就会牵扯到,mysql的版本,启动文件,等一些问题。

不过没关系,先问清楚两点

1、mysql配置文件my.cnf的位置

2、如何启动、停止mysql,找好启动文件

假设有两台机器,已经安装好了mysql(尽量同版本,且两台机器同一网络,可以ping通)

有朋友说:“从服务器,不能低于主服务器的版本”,不过我是低于的,没有出现问题。

主机A: 192.168.1.100

从机B:192.168.1.101

可以有多台从机

1、先登录主机 A

mysql>GRANTREPLICATION SLAVEON *.* TO ‘backup’@’192.168.1.101‘ IDENTIFIED BY ‘123456’;

赋予从机权限,有多台丛机,就执行多次

2、 打开主机A的my.cnf,输入

server-id               = 1    #主机标示,整数

log_bin                 = /var/log/mysql/mysql-bin.log   #确保此文件可写

read-only       =0  #主机,读写都可以

binlog-do-db    =test   #需要备份数据,多个写多行

binlog-ignore-db=mysql #不需要备份的数据库,多个写多行

3、打开从机B的my.cnf,输入

server-id               = 2

log_bin                 = /var/log/mysql/mysql-bin.log

master-host     =192.168.1.100

master-user     =backup

master-pass     =123456

master-port     =3306

master-connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)

replicate-do-db =test #只复制某个库

replicate-ignore-db=mysql #不复制某个库

4、同步数据库

有多种方法,我说最笨的一种,先mysqldump导出主机A的数据test为 test.sql

然后在,从机B上建立数据库test,mysql导入 test.sql到test库中

5、先重启主机A的mysql,再重启从机B的mysql

6、验证

在主机A中,mysql>show master status\G;

在从机B中,mysql>show slave status\G;

能看到大致这些内容

File: mysql-bin.000001

Position: 1374

Binlog_Do_DB: test

Binlog_Ignore_DB: mysql

可以在主机A中,做一些INSERT, UPDATE, DELETE 操作,看看主机B中,是否已经被修改

以下是一些其他朋友写的,我也做了参考

http://www.ningoo.net/html/2007/mysql_replication_configuration.html

http://leftleg.hzpub.com/post/645/

报错处理方案:

1.确定log_bin 有权限操作  可以用chmod 777

2.change master to master_host='*.*.*.*',master_user='backup',master_password='123456',master_log_file='mysql-bin.000015' ,master_log_pos=443;

其中的两个文件从主机的 show master status  中获取

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值