标签:.so 个数 存在 new set city mysql主从 环境 快速
软件名称 | 版本 | 下载地址 | 当前环境 | 管理员账号/密码 |
---|---|---|---|---|
mysql | 5.6 | yum安装 | centOS6.7系统 | zxfly/zxfly |
数据库所在目录 | /database/mysql | 新建目录mysql |
---|---|---|
sock文件路径 | /var/lib/mysql/mysql.sock | 自动生成 |
配置文件路径 | /etc/my.cnf | |
慢查询日志路径 | /var/log/mysql/mysql_slow_query.log | 新建mysql日志目录 |
错误日志路径 | /var/log/mysql/mysqld.log | |
pid文件 | /var/run/mysqld/mysqld.pid | 自动生成 |
binlog日志文件 | /database/mysql-bin/mysql_bin*.log | 新建目录mysql-bin |
官网地址:http://dev.mysql.com/downloads/repo/yum/
centos7系统:
wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
centos6系统:
wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
rpm -Uvh mysql57-community-release-el6-7.noarch.rpm
vim /etc/yum.repos.d/mysql-community.repo
安装mysql5.6操作
如图:
yum install mysql-community-server
主库配置文件:
从库配置文件:
复制配置文件到/etc/my.cnf
主库:cp my.cnf /etc/my.cnf
从库:cp my_web_slave.cnf /etc/my.cnf
vim /etc/my.cnf
#修改server-id=171替换成
server-id=[配置为安装数据库所在服务器的ip]
说明:如果部署的mysql服务是作为从库来使用的话,还需要将bin_log项给注释掉。
创建日志所在目录
mkdir -p /var/log/mysql
chown -R mysql.mysql /var/log/mysql
创建数据所在目录
mkdir -p /database/mysql
chown -R mysql.mysql /database/mysql
创建binlog所在目录(如果作为从库的话,可以跳过)
mkdir -p /database/mysql-bin
chown -R mysql.mysql /database/mysql-bin
初始化数据库
mysql_install_db --user=mysql --datadir=/database/mysql
启动
service mysqld start #(第一次时间会相对长点,需要初始化,请耐心等待)
命令 mysql_secure_installation
Enter current password for root (enter for none):[回车跳过]
et root password? [Y/n] y [是否设置root密码]
New password: [输入:zxfly]
Re-enter new password: [输入:zxfly]
Remove anonymous users? [Y/n] y [删除匿名用户]
Disallow root login remotely? [Y/n] y [禁止root远程登录]
Remove test database and access to it? [Y/n] y [删除test数据库]
Reload privilege tables now? [Y/n] y [刷新权限]
#登录mysql
mysql -uroot -pzxfly
MySQL主从部署文档
# | 配置项 | 说明 |
---|---|---|
1 | user=mysql | 启动用户 |
2 | datadir=/database/mysql | 数据库所在路径 |
3 | socket=/var/lib/mysql/mysql.sock | sock文件所在目录 |
4 | skip-name-resolve | 禁用DNS解析,访问太慢加入此优化 |
5 | symbolic-links=0 | 关闭符号连接 |
6 | slow_query_log_file = /var/log/mysql_slow_query.log | 慢查询日志所在路径 |
7 | long_query_time=1 | 记录1秒以上的慢查询 |
8 | slow_query_log=1 | 开启慢查询 |
9 | server-id=171 | 每一个mysql实例设置一个独立的server-id一般以IP定义 |
10 | log_bin=/database/mysql/mysql_bin | 二进制文件所在路径及格式 |
11 | binlog_format=mixed | 定义二进制文件输出的格式(混合型) 可定义类型: 1、row 详细记录所有,会产生大量的日志。 2、statement(默认) 记录sql语句,及其位置。在复杂的语句时可能记录不正确。 3、mixed 以上两种的结合,会自动选择。 |
12 | sync-binlog=1 | 默认为0 1是最安全的。 1、当出现错误的时候,设置为1,最多会丢失一个事务。 2、他是最慢的选择。 3、但是确保恢复快的话,应该由双电源缓存机制存在。 |
13 | expire_logs_days=14 | 保留二进制文件的天数 |
# | 配置项 | 说明 |
---|---|---|
1 | log-error=/var/log/mysqld.log | 错误日志路径 |
2 | pid-file=/var/run/mysqld/mysqld.pid | pid文件所在路径 |
# | 配置项 | 说明 |
---|---|---|
1 | innodb_buffer_pool_size=104G | 缓存innodb表的索引,数据,插入数据时的缓冲, 1、官方建议设置为内存大小的80%,线上所挂载的大小为160G,可用130G,所以设置为104G 2、 |
2 | innodb_log_file_size=512M | 事务日志的大小 官方推荐为:日志大小*日志组大小(默认为2)不能超过512G 1、该值越大,写入磁盘IO越小, 2、该值越大,出现错误恢复越难 3、默认为48M,修改为512M,也就是在大并发的时候1G的日志刷入。 4、如果该值调大,并且为了减少崩溃恢复,应该将下main的innodb_flush_log_at_trx_commit改为1 |
3 | innodb_log_buffer_size = 8M | 事务在内存中的缓冲大小 |
4 | innodb_flush_log_at_trx_commit=2 | 每秒将事务日志刷到磁盘中 (0:每秒刷一次 1:提交事务就刷入磁盘 2:有事务执行,然后每秒刷一次) |
5 | innodb_file_per_table=1 | 开启共享表空间自动收缩 |
6 | innodb_file_io_threads=4 | 可用的IO线程数 |
7 | innodb_flush_method=O_DIRECT | 定义刷写模式(默认为:fdatasync) O_DIRECT会最小化缓冲对io的影响, |
8 | innodb_io_capacity=2000 | 定义读写IO的能力 和磁盘转速及大小有关 |
9 | innodb_io_capacity_max=6000 | 每秒最大IO能力 |
10 | innodb_lru_scan_depth=2000 | 一般与innodb_io_capacity的值相同 |
11 | innodb_thread_concurrency = 0 | 不限制并发线程数 |
# | 配置项 | 说明 |
---|---|---|
1 | tmp_table_size=2G | 内部(内存中)临时表的最大大小 |
2 | character-set-server=utf8 | 更改默认字符集 |
3 | collation-server=utf8_general_ci | 指定字符串的比对规则 |
4 | skip-external-locking | 跳过外部锁定 |
5 | back_log=1024 | 监听队列中所能保持的连接数 |
6 | key_buffer_size=1024M | 关键词缓冲的大小 |
7 | thread_stack=256k | 线程使用的堆大小. 此容量的内存在每次连接时被预留 |
8 | read_buffer_size=8M | 全表扫描的缓冲大小 |
9 | thread_cache_size=64 | 在cache 中保留用于重用的线程个数 |
10 | query_cache_size=128M | 查询缓冲大小,保留select查询,下次同样查询可以直接返回结果 |
11 | max_heap_table_size=256M | 每个表所允许的内存的最大容量(防止内存被大表直接占用完) |
13 | query_cache_type=1 | 开启查询缓存 |
14 | binlog_cache_size = 2M | binlog记录事务所保留的缓存大小 |
15 | table_open_cache=128 | 每个线程允许打开表的数量 |
16 | thread_cache=1024 | 保留的用于从重用的线程数 |
17 | thread_concurrency=24 | 向系统发送希望用到的线程的个数(一般为CPU的数量的二到四倍) |
18 | wait_timeout=18000 | sleep操作最大等待时间(即一个后台运行的命令最大时间) |
19 | join_buffer_size = 1024M | 优化全联合,当联合表操作时,使用此缓存 |
20 | sort_buffer_size=8M | 排序操作缓存 |
21 | read_rnd_buffer_size = 8M | 排序完成后会放入此缓存,可以减少磁盘IO |
22 | max-connect-errors=100000 | 负责阻止过多尝试失败的客户端以防止暴力破解密码 |
23 | max-connections=3000 | 最大连接数 |
24 | explicit_defaults_for_timestamp=true | 开启查询缓存 |
25 | sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES | 定义其工作模式,mysql会自动选择定义的模式 |
ps -ef|grep mysql
mysql -uttedudb -pttedudb
service mysqld start
service mysqld stop
service mysqld restart
mysql -uttedudb -pttedudb
mysql备份&还原
标签:.so 个数 存在 new set city mysql主从 环境 快速
原文地址:http://www.cnblogs.com/feiren/p/7697767.html