当前位置:首页 > MySQL
MySQL 5.7.16 安装及主从配置
来源:靑龍一笑的博客  作者:靑龍一笑  发布时间:2016-12-06 16:14:21  点击量:871  评论:0
[root@dbserver01 softwares]# groupadd mysql
[root@dbserver01 softwares]# useradd -g mysql -s /bin/false mysql
[root@dbserver01 softwares]# tar xvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
[root@dbserver01 softwares]# mv mysql-5.7.16-linux-glibc2.5-x86_64 /usr/local/mysql
[root@dbserver01 softwares]# cd /usr/local/mysql/
[root@dbserver01 mysql]# bin/mysqld --initialize

    这里会生成一个 root 帐号的随机密码。
    设置 mysql 目录的权限:

[root@dbserver01 mysql]# chown -R root .
[root@dbserver01 mysql]# chown -R mysql data/
[root@dbserver01 mysql]# chgrp -R mysql .

    拷贝一个配置文件出来:

[root@dbserver01 mysql]# cp support-files/my-default.cnf /etc/my.cnf

    配置成系统服务,并设为开机启动:

[root@dbserver01 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysql
[root@dbserver01 mysql]# chmod +x /etc/rc.d/init.d/mysql
[root@dbserver01 mysql]# chkconfig --add mysql

    配置环境变量:

[root@dbserver01 mysql]# vi /etc/profile

    添加以下代码:

MySQL_HOME=/usr/local/mysql
PATH=$MySQL_HOME/bin:$PATH
export MySQL_HOME PATH

    主服务器配置:

[root@dbserver01 mysql]# vi /etc/my.cnf

    添加如下代码:

[mysqld]
# 主服务器 ID
server-id = 1
# 日志格式设置
log-bin = mysql-master-bin
# 指定需要同步的数据库
binlog-do-db = blog
# 指定不需要同步的数据库
binlog-ignore-db = mysql
binlog-ignore-db = sys
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
# 服务器端字符集
character_set_server = utf8
# 数据库或数据表的默认排序方式
collation-server = utf8_general_ci
# 忽略客户端的字符集
character-set-client-handshake = false
# 忽略大小写
lower_case_table_names = 1
# 服务器最大连接数
max_connections = 3000
[mysqld_safe]
# 每个进程打开文件数
open-files-limit = 8192

    启动主服务器 MySQL 数据库:

[root@dbserver01 mysql]# service mysql start

    使用随机密码登录:

[root@dbserver01 mysql]# bin/mysql -uroot -p

    重设 root 密码:

mysql> set password=password('1234abcd');

    开启远程访问的权限:

mysql> grant all on *.* to 'root' identified by '1234abcd';
mysql> flush privileges;

    创建用于主从复制的帐号:

mysql> grant replication slave on *.* to 'root'@'192.168.186.134' identified by '1234abcd';

    对主数据库进行锁表:

mysql> flush tables with read lock;

    开启一个会话窗口,登录到 MySQL,查看两个值:二进制日志文件及其位置。

    对主数据库表进行解锁:

mysql> unlock tables;

    从服务器配置:

[root@dbserver02 mysql]# vi /etc/my.cnf

    添加如下内容:

[mysqld]
# 从服务器 ID
server-id = 2
# 日志格式设置
log-bin = mysql-slave-bin
# 指定需要同步的数据库
replicate-do-db = blog
# 指定不需要同步的数据库
replicate-ignore-db = mysql
replicate-ignore-db = sys
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
# 将从服务器的更新写入二进制日志
log-slave-updates
# 服务器端字符集
character_set_server = utf8
# 数据库或数据表的默认排序方式
collation-server = utf8_general_ci
# 忽略客户端的字符集
character-set-client-handshake = false
# 忽略大小写
lower_case_table_names = 1
# 服务器最大连接数
max_connections = 3000
[mysqld_safe]
# 每个进程打开文件数
open-files-limit = 8192

    启动从服务器 MySQL 数据库:

[root@dbserver02 mysql]# service mysql start

    使用随机密码登录:

[root@dbserver02 mysql]# bin/mysql -uroot -p

    重设 root 密码:

mysql> set password=password('1234abcd');

    开启远程访问的权限:

mysql> grant all on *.* to 'root' identified by '1234abcd';
mysql> flush privileges;

    从数据库设置同步的主数据库信息:

mysql> change master to master_host='192.168.186.134',master_user='root',master_password='1234abcd',master_log_file='mysql-master-bin.000001',master_log_pos=1124;

    启动从数据库的同步线程:

mysql> start slave;

    查看从数据库的slave状态:

mysql> show slave status \G

    如果以下两个参数都是Yes,说明主从配置成功:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
版权所有 © 2005-2023 靑龍一笑的博客  Powered by C.S.Ricen
Copyright © 2005-2023 by www.ricensoftwares.com.cn  All Rights Reserved.

欢迎光临本站,这里是靑龍一笑的博客。

因资金匮乏,本站已迁到国外的免费空间,可能导致本站的访问速度较慢,由此给您带来的不便,敬请谅解。

您可以通过下方的“支持本站建设”链接,给本站提供资金支持。

Free Web Hosting