最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

mysql主从安装详解与经验

来源:动视网 责编:小OO 时间:2025-09-27 00:15:52
文档

mysql主从安装详解与经验

安装前的确认:1,是否存在mysql这个用户fingermysql2,如果不存在,请切换root用户,添加mysql用户和mysql组添加mysql组:groupaddmysql用户可以建立一个专门用于MySQL的用户组和用户名,用于启动和关闭MySQL数据库,以及对数据库的一些操作。建立用户组可以使用如下命令:#groupadd mysql     //创建mysql组 命令执行完毕后用户可以查看/etc/group文件,正确添加用户组后,用户可以在该文件中看到类似于以下的一行内容:mysq
推荐度:
导读安装前的确认:1,是否存在mysql这个用户fingermysql2,如果不存在,请切换root用户,添加mysql用户和mysql组添加mysql组:groupaddmysql用户可以建立一个专门用于MySQL的用户组和用户名,用于启动和关闭MySQL数据库,以及对数据库的一些操作。建立用户组可以使用如下命令:#groupadd mysql     //创建mysql组 命令执行完毕后用户可以查看/etc/group文件,正确添加用户组后,用户可以在该文件中看到类似于以下的一行内容:mysq
安装前的确认:

1,是否存在mysql这个用户

finger mysql

2,如果不存在,请切换root用户,添加mysql用户和mysql组

添加mysql组:

groupadd mysql

用户可以建立一个专门用于MySQL的用户组和用户名,用于启动和关闭MySQL数据库,以及对数据库的一些操作。建立用户组可以使用如下命令:

#groupadd mysql     //创建mysql组 

命令执行完毕后用户可以查看/etc/group文件,正确添加用户组后,用户可以在该文件中看到类似于以下的一行内容:

mysql :x :101: 

添加mysql用户:

useradd –g mysql mysql

添加了用户组后,接着应该添加用户。在Linux下添加用户使用useradd命令。此处,添加一个名为mysql的用户,使用的命令如下:

#useradd -g mysql mysql 

该命令用于创建mysql用户,并放到mysql组里。-g参数选项用于指定一个组名,并将新建的用户添加到该组,作为该组的一个成员。

3,可以打开下载解压的tar包,查看其中的文件,获知安装时需要配置的内容

4,检查mysql默认使用的3306端口是否被占用

netstat –nat|grep 3306

netstat –nat|grep LISTEN

开始安装:

1,解压tar包文件

tar zvxf mysql-5.1.45.tar.gz

2,进入解压的目录内

cd mysql-5.1.45

3,配置相关mysql安装参数

./configure --prefix=/home/work/mysql_user --with-charset=utf8 --with-extra-charsets=all --with-tcp-port=3316 --with-unix-socket-path=/home/work/mysql_user/var/mysql.sock --with-plugins=innobase

4,make

5,make install

6,多人同时使用一个mysql源文件目录进行安装时,需要先make clean

7,检查是否安装成功,在bin目录下

./mysql_install_db --basedir=/home/work/mysql_msg --datadir=/home/work/mysql_msg/var

有些账号在mysql_install_db时不具有/user/local/var目录权限。

可以通过 ./mysql_install_db --basedir= /home/work/mysql_test --datadir= /home/work/mysql_test/var 进行灵活的修改,修改为当前安装目录下即可。

8,配置完成后,启动mysql;nohup ./bin/mysqld_safe &

9,查看设置的端口是否正常监听到:netstat –nat|grep LISTEN

10,检查数据库是否搭建成功:通过客户端登陆验证

Mysql登录:./bin/mysql –h**** -u***** -P****** -p****

-u:用户名

-P:监听的端口号

-p:密码

-h:数据库服务器ip地址

二,设置主从库同步

1,首先停止主数据库

启动和停止数据库可以有以下两种方法:

方法一:

./bin/mysqladmin –u –P –p –h shutdown

-u 用户名

-P 数据库端口号

-p 密码

-h 数据库服务器ip地址

方法二:./mysql.server stop (start / restart)

需要将share/mysql/my-medium.cnf文件拷贝到/home/work/mysql_iyouxi目录下,就可以直接执行mysql.server命令;或者直接去share/mysql目录下去执行mysql.server命令

2,拷贝主库var目录下的文件到从数据库的var目录下,需要拷贝的内容包括:

1)各数据库文件夹(除mysql目录以外的其他目录)

2)ibdata1开头的文件

3,修改主数据库的配置文件my.cnf(刚才拷贝出来的那个cnf文件)

在mysqld节点下,设置:

log-bin=mysql-bin

binlog_format=mixed

server-id = 1

****设置mysql log路径****(打开慢查询记录log和mysql查询日志log文件)

log-bin=mysql-bin

log-slave-updates

log=mysql.log

log-slow-queries=slow.log

long_query_time=2

4,同样,修改从数据库my.cnf文件的内容(刚才拷贝出来的那个cnf文件)

在mysqld节点下,设置:

server-id = 2(不能与主库的id相同,一般设置主库为1,从库为2,3,4,,,)

master-host = 10.48.234.12(主库的ip地址)

master-user = root(主库的user)

master-password = 123456(主库的password)

master-port = 3307(主库的端口号,这里从库的端口号必须和主库的一致)

5,此时,启动主数据库,并为主数据库创建一个同步用户

GRANT REPLICATION SLAVE ON *.* TO 'slavesyn'@'mydomain.com' IDENTIFIED BY '123456';

这个语句意味着从库可以用slavesyn 的账号来镜像主库,密码是123456 ,这个账户和密码就是配置在从库my.cnf中的

master-user = root                  //主库的user

master-password = 123456             //主库的密码

运行  flush privileges  使步骤3的授权生效

6,查看当前主数据库状态:

show master status;

7,启动从数据库

8,确认从库镜像主库的镜像点:

Change master to Master_Log_File=’mysql-bin.000006’,Master_Log_Pos=106;

这里黄色位置的信息必须与主数据库show master status;的结果信息一致。

change master to master_host='192.168.126.118',master_user='backup',master_password='123456',master_log_file='mysql-bin.000010' ,master_log_pos=98;

slave start;

如果出现以下报错:

ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO

出现这种报错可以通过 执行Change master语句来解决:

change master to master_host='192.168.126.118',master_user='backup',master_password='123456',master_log_file='mysql-bin.000010' ,master_log_pos=98;

9,启动从库的同步:

start slave;(停止命令:stop slave)

10, 查看从服务器的状态:

show slave status\\G;

主要查看下面两项:

Slave_IO_Running: YES

Slave_SQL_Running: YES

这两项都是YES,说明从数据镜像正常,否则需要排查错误。

可能遇到的问题:

1,

解决办法:

今天在安装MYSQL的时候,新建数据库用户。

#groupadd mysql 

结果提示:bash: groupadd: command not found

是我变量不对吗?系统怎么会找不到groupadd 这条命令呢。

后来一想。原来是su的错。

之前是在普通用户下。直接 SU切换到ROOT用户。

退出换成SU -  再切换到ROOT用户就好了。

su 只能切换到管理员用户权限,不使用管理员的登陆脚本和搜索路径 

su -  不但能切换到管理员权限而且使用管理员登陆脚本和搜索路径

使用su -  环境变量也跟着来啦~

2,

当大家看到 configure之后 出现cannot remove `libtoolT',需要在执行./configure 之前,先执行

autoreconf --force --install

libtoolize --automake --force

automake --force --add-missing

重新configuer 不报错即可。

3,报错

FATAL ERROR: Could not find ./bin/my_print_defaults

If you compiled from source, you need to run 'make install' to

copy the software into the correct location ready for operation.

If you are using a binary release, you must either be at the top

level of the extracted archive, or pass the --basedir option

pointing to that location.

解决办法:

./mysql_install_db --basedir=/home/work/mysql_msg/ --datadir=/home/work/mysql_msg/var

有些账号在mysql_install_db时不具有/user/local/var目录权限。

可以通过 ./mysql_install_db --basedir= /home/work/mysql_test --datadir= /home/work/mysql_test/var 进行灵活的修改,修改为当前安装目录下即可。

设置主数据库my.cnf文件:

server-id = 1

log-bin=/home/work/mysql_msg/logs/mysql-bin

binlog-do-db = dbname

binlog-ignore-db = mysql

server-id = 本机数据库 ID 标示,该部分还应有一个server-id=Master_id选项,其中master_id必须为1到232之间的一个正整数值

log-bin = 二进制日志的位置和名称

binlog-do-db = 需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可

binlog-ignore-db = 不需要备份的数据库苦命,如果备份多个数据库,重复设置这个选项即可

5,报错error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock'

解决办法:

需要切换root权限(su root; su -)后,添加mysql用户组

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 

GRANT ALL PRIVILEGES ON *.* TO 'game'@'localhost' IDENTIFIED BY ‘game’ WITH GRANT OPTION; 

FLUSH PRIVILEGES;

Mysqladmin –uUserName –pOldPwd password NewPwd

SOURCE XXX.sql

mysqldump –u UserName –p DatabaseName TableName > Export File Name

mysqldump –uUserName –p DatabaseName > Export File Name

文档

mysql主从安装详解与经验

安装前的确认:1,是否存在mysql这个用户fingermysql2,如果不存在,请切换root用户,添加mysql用户和mysql组添加mysql组:groupaddmysql用户可以建立一个专门用于MySQL的用户组和用户名,用于启动和关闭MySQL数据库,以及对数据库的一些操作。建立用户组可以使用如下命令:#groupadd mysql     //创建mysql组 命令执行完毕后用户可以查看/etc/group文件,正确添加用户组后,用户可以在该文件中看到类似于以下的一行内容:mysq
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top