基础环境

centos 6.x

mysql-community-server5.6 或以上

安装&启动

配置mysql官方yum源

安装server、client

yum install mysql-community-server mysql-community-client mysql-community-devel

创建数据库目录:(根据需要,对应目录在my.cnf 中修改)

mkdir -p /data/db/mysql/

mkdir -p /var/log/mysql/

启动初始化,改好配置后再重启:

service mysqld start

chkconfig mysqld on

角色定位

常用是“1主多从”的架构:有1台主服务,n台从服务,配置方式详见《主从设置章节》。

公共配置

由于配置较多,以下只列出生产环境需要配置的部分(检查以下配置),文件路径:/etc/my.cnf

[mysql]

port = 3306

socket=/data/db/mysql/mysql.sock

default-character-set=utf8

[mysqld]

port = 3306

user = mysql

socket=/data/db/mysql/mysql.sock

datadir=/data/db/mysql/

character-set-server= utf8

全局配置

skip-name-resolve

back_log = 512

table_open_cache =2048

query_cache_size =0

tmp_table_size =32M

max_heap_table_size= 32M

sort_buffer_size =2M

join_buffer_size =2M

read_buffer_size =2M

read_rnd_buffer_size= 2M

symbolic-links=0

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

连接相关配置

connect_timeout =10

interactive_timeout= 60

wait_timeout = 60

max_connections =1000 #根据实际情况调整

max_connect_errors= 1000

log设置

log_error =/var/log/mysql/mysqld.log

slow_query_log =ON

slow_query_log_file= /var/log/mysql/slow.log

long_query_time =8

innodb 设置

innodb_file_per_table= ON

innodb_flush_log_at_trx_commit= 1

innodb_buffer_pool_size= 4G #专用DB数据库设置成 物理内存50%,非专用设置成 25%

innodb_data_file_path= ibdata1:1G:autoextend

innodb_log_buffer_size= 64M

innodb_log_file_size= 256M

innodb_log_files_in_group= 2

innodb_open_files= 2048

myisam 设置

key_buffer_size =8M

[mysqldump]

quick

socket=/data/db/mysql/mysql.sock

max_allowed_packet= 64M

[mysqld_safe]

log-error=/var/log/mysql/mysqld.log

pid-file=/var/run/mysql/mysqld.pid

主机配置

放在 [mysqld] 里面

server_id = 1 #若是在主从架构中,每台机都必须不一样

log_bin =mysql-bin.log

log_bin_index =mysql-bin.index

expire_logs_days =30

sync_binlog = 0

从机配置

放在 [mysqld] 里面

server_id = 2 #若是在主从架构中,每台机都必须不一样

log_bin =mysql-bin.log

log_bin_index =mysql-bin.index

expire_logs_days =30

sync_binlog = 0

主从同步设置

根据上面的配置,分别配置好 主机和从机,并启动服务(参考前面);

在主机上,创建同步账户:

mysql> grant replication slave,replication client on . to 'replUser'@'192.168.1.%' identified by 'replPw';

在主机上,锁表并导出数据:

3-1 锁表

mysql > flush tables with read lock;

3-2 导出数据

mysqldump -u root test2 > db.sql

3-3 在从机上导入db.sql 文件

在主机查询,主机状态:

mysql >SHOW MASTER STATUS;

在从机上,设置同步点:

mysql > CHANGE MASTER TOMASTER_HOST='192.168.115.120',MASTER_USER='replUser',MASTER_PASSWORD='replPw',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=120;

在主机上,关闭锁表:

mysql > UNLOCK TABLES;

在从机上,开启同步并查询状态:

mysql > start slave;

mysql > show slave status\G;

查看Slave_IO_Running、Slave_SQL_Running 为 YES,即同步成功

日常维护命令

showprocesslist/show full processlist; 查看MySQL进程任务命令,其中带full参数的,则显示完整语句信息。

show masterstatus\G; 查看主机的二进制日志信息

show slavestatus\G; 查看从机同步状态的详细信息。如果主从同步出现错误,则有详细的错误信息提示。

showdatabases; 列出MySQL中的所有数据库

showtables; 列出指定数据库中的所有数据表

show createtable A; 查看创建数据表A的sql语句

desc A; 查看数据表 A 字段结构信息

主从异常维护

utf8mb4字符集

1.MySQL中的utf-8并不是真正意义上的utf-8,它只能存储1~3个字节长度的utf-8编码,而存储4个字节的必须用utf8mb4(mysql>=5.5.3支持),否则会出现乱码。例如在微信管理系统中,消息文本使用了emoji表情:符号,必须使用utf8mb4进行储存。

2.注意最大字符长度:以INNODB为基础,utf8最长VARCHAR(255),utf8mb4最长为VARCHAR(191)。

3.如果使用PHP来操作到 MySQL,字符串仍可能面临在数据库中以非 UTF-8 的格式进行存储的问题。

4.为了字符串从 PHP 到 MySQL都使用 UTF-8,确认数据表都设定为 utf8mb4 字符集和整理,并且确保 PDO 连接请求也使用了 utf8mb4 字符集,这是非常重要的。要求在的mysql>=5.5.3版本,表、字段必须使用utf8mb4字符集和utf8mb4整理。

utf8参考资料

lnmp mysql 哪个好_[LNMP]Mysql生产环境配置相关推荐

  1. MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结

    MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...

  2. vue3.0生产环境和正式环境配置_vue开发环境和生产环境配置

    开发环境配置 一般情况下开发环境是会跨域的,所以我们只需要在跨域的位置配置即可.进入config/index.js,在proxyTable对象里面添加代码,如下: '/api': { target: ...

  3. Vue.config.js开发环境与生产环境配置

    Vue.config.js开发环境与生产环境配置 首先在项目根目录创建 .env.development 开发环境 .env.production 生产环境 VUE_APP_SERVICE_URL V ...

  4. React多页面应用5(webpack生产环境配置,包括压缩js代码,图片转码等)

    本教程总共7篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1.React多页面应用1(webpack开发环境搭建,包括Babel.热更新等) ----2017 ...

  5. Vue——10 - webpack打包保姆级教程01——打包js、json、css、less、html、背景图片以及图片、字体(Font)文件,devsever,生产环境配置以及css的兼容写法

    目录 一.webpack打包JS文件 1.新建入口文件index.js和mathUtils.js,index.js是依赖于mathUtils.js 2.然后使用webpack命令打包js文件 二.打包 ...

  6. mysql悲观群_谈谈mysql的悲观和乐观锁

    悲观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念.之前有写过一篇文章关于并发的处理思路和解决方案,这里我单独将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍一 ...

  7. mysql核心数据库_从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程...

    从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程 课程目录 (1) 01MySQL基础_课程引入.avi (2) 02MySQL基础_为什么学习 ...

  8. mysql emoji表情_让MySQL支持Emoji表情 mysql 5.6

    最近在做微信相关的项目,其中MySQL 要存储emoji表情,因此发现我们常用的utf8 字符集根本无法存储表情.网上有不少替代方案.本人还是采用了修改MySQL字符集的方案简单快捷. 首先将我们数据 ...

  9. mysql 主主结构_高性能mysql主主架构

    (3)配置参数说明 server-id:ID值唯一的标识了复制群集中的主从服务器,因此它们必须各不相同.master_id必须为1到232–1之间的一个正整数值,slave_id值必须为2到232–1 ...

  10. mysql 恢复同步_常见MySQL同步错误恢复方法

    1.1236错误解决办法 由于主服务器异外重启,导致从报错,错误如下:mysql>showslavestatus\G Master_Log_File:mysql-bin.000288 Read_ ...

最新文章

  1. hive数据导入导出
  2. fbx 转 gltf glb 文件
  3. python openvc 裁剪、剪切图片 提取图片的行和列
  4. Ubuntu上nfs的安装配置
  5. 织梦 百度sitemap制作教程
  6. cxf开发实践(添加SSL支持)
  7. Fragment 横竖屏切换问题
  8. 【Pytorch神经网络基础理论篇】 05 矩阵计算
  9. iOS - Masonry自动布局
  10. echarts标记线的样式_ECharts提示框组件指示器的线条样式
  11. Java 泛型List clone
  12. Java多线程_复习(更新中!!)
  13. python安装后如何使用-python运行环境,python安装后如何使用
  14. L1- 009——016
  15. 免费c语言入门自学书籍pdf下载,c语言从入门到精通pdf
  16. 51单片机下载完程序后不亮_单片机实用工具大全,超级赞,工程师必备!
  17. ZigBee串口发送字符串函数
  18. Axure中SVG矢量图标的使用方法及资源推荐
  19. 女人假正经的十三种表现
  20. 【Lecroy示波器使用】

热门文章

  1. Tomcat 8 解决“At least one JAR was scanned for TLDs yet contained no TLDs”问题
  2. wdcp安装多种php版本共存
  3. wordpress无法上传中文名的图片
  4. azure mysql无法连接_java - 无法从Azure的JAVA功能连接到Azure的MySQL数据库 - SO中文参考 - www.soinside.com...
  5. weightad interval scheduling problems
  6. C语言 一个字符串翻转函数的编写
  7. 【2019杭电多校第七场1001=HDU6646】A+B=C(思维+多细节)
  8. 【HUD2072】单词数(字典树-统计一句话中不同单词的个数)
  9. clion使用之如何在编译运行多个程序(以cpp为例)
  10. iperf服务器如何显示收到的包速率,使用Iperf诊断网络速度