MySQL5.7.10安装配置

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
日志服务 SLS,月写入数据量 50GB 1个月
简介:

一、安装前准备

下载MySQL源码安装包 http://dev.mysql.com/downloads/mysql/ 需要有oracle账户登录下载

同时需要下载与MySQL版本对应的boost,下载地址:http://sourceforge.net/projects/boost/files/boost/

安装cmake:yum install -y cmake ncurses-devel

创建MySQL用户

groupadd mysql

useradd -g mysql -d /usr/local/mysql mysql


二、将MySQL源码包以及boost_1_57_0.tar.gz上传到服务器上,并解压

tar zxvf boost_1_59_0.tar.gz && mv boost_1_59_0/* boost/

tar zxvf mysql-5.7.10.tar.gz && cd mysql-5.7.10


三、编译安装

cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql -DCOMMUNITY_BUILD:BOOL=ON -DENABLED_PROFILING:BOOL=ON -DENABLE_DEBUG_SYNC:BOOL=OFF -DINSTALL_LAYOUT:STRING=STANDALONE -DMYSQL_DATADIR:PATH=/data/mysql/db -DMYSQL_MAINTAINER_MODE:BOOL=OFF -DWITH_EMBEDDED_SERVER:BOOL=ON -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_SSL:STRING=bundled -DWITH_UNIT_TESTS:BOOL=OFF -DWITH_BOOST=/usr/local/mysql/boost/ && gmake && gmake install


四、创建相关目录

mkdir -p /data/mysql/sock

mkdir -p /data/mysql/run

mkdir -p /data/mysql/db

mkdir -p /data/mysql/tmp

mkdir -p /data/mysql/logs

mkdir -p /data/mysql/binlogs

mkdir -p /data/mysql/binlogs/mysql-bin

mkdir -p /data/mysql/innodb

mkdir -p /usr/local/mysql/etc

chown -R mysql.mysql /usr/local/mysql

chown -R mysql.mysql /data/mysql


五、创建配置文件:/usr/local/mysql/etc/my.cnf

#++++++++++++++++++++++++++++++++ multi ++++++++++++++++++++++++++

[mysqld_multi]

mysqld = /usr/local/mysql/bin/mysqld_safe

mysqladmin = /usr/local/mysql/bin/mysqladmin

use = root

log = /usr/local/mysql/logs/multi.log


#+++++++++++++++++++++++++++++++client+++++++++++++++++++++++++++

[client]

default-character-set = utf8


#+++++++++++++++++++++++++++++mysql+++++++++++++++++++++++++++++

[mysql]

prompt = mysql(\\u@\h-\R:\\m:\\s [\\d])>

#提示当前数据库操作用户名、库名、时间等

default-character-set=utf8


#++++++++++++++++++++++++++++++++++monitor++++++++++++++++++++++++++

[mysqld]

user = mysql


#Add at 2014/05/21

init_connect='SET collation_connection = utf8_general_ci; SET NAMES utf8;'


port = 3307

character-set-server=utf8

collation-server = utf8_general_ci

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

pid-file = /data/mysql/run/mysql.pid

datadir = /data/mysql/db

tmpdir = /data/mysql/tmp

big_tables

skip_external_locking

skip-name-resolve

lower_case_table_names = 1

back_log = 2048

max_connections = 3000

max_connect_errors = 100000

interactive_timeout = 28800

wait_timeout = 28800

max_allowed_packet = 32M

max_heap_table_size = 128M

tmp_table_size = 128M

max_length_for_sort_data = 8072

net_buffer_length = 1M

sort_buffer_size = 4M

join_buffer_size = 4M

read_buffer_size = 2M

read_rnd_buffer_size = 16M

table_open_cache = 2048

thread_cache_size = 64

#thread_concurrency = 12

query_cache_type = 0

query_cache_size = 64M

query_cache_limit = 4M

#******************************* Logs related settings ***************************

log-error = /data/mysql/logs/error.log

log_warnings

long_query_time = 1

slow_query_log

slow_query_log_file = /data/mysql/logs/slow-query.log

log_queries_not_using_indexes

binlog_cache_size = 8M

max_binlog_size = 512M

log-bin = /data/mysql/binlogs/mysql-bin

log-bin-index = /data/mysql/binlogs/mysql-bin.index

expire_logs_days = 60

#******************************* Replication related settings **********************

server-id = 1

report_port = 3307

report_user = repl

slave_net_timeout = 60


sync_binlog = 1

binlog-format = ROW


#Change at 2014/05/21

transaction_isolation = READ-COMMITTED


slave-skip-errors = 1062

#******************************* MyISAM Specific options ****************************

key_buffer_size = 32M

bulk_insert_buffer_size = 16M

myisam_sort_buffer_size = 64M

myisam_max_sort_file_size = 1G

myisam_repair_threads = 1

#myisam_recover

#***************************** INNODB Specific options ******************************

innodb_file_per_table = 1

innodb_flush_log_at_trx_commit = 1

innodb_autoinc_lock_mode = 1

innodb_fast_shutdown = 0

#innodb_additional_mem_pool_size = 64M

innodb_buffer_pool_size = 2G

innodb_data_home_dir = /data/mysql/innodb

innodb_data_file_path = ibdata1:256M:autoextend

#innodb_file_io_threads = 8

innodb_thread_concurrency = 4

innodb_log_buffer_size = 8M

innodb_log_file_size = 128M

innodb_log_group_home_dir = /data/mysql/innodb


#Change at 2014/05/21

#innodb_max_dirty_pages_pct = 20

innodb_max_dirty_pages_pct = 30


innodb_lock_wait_timeout = 120

innodb_flush_method=O_DIRECT


[mysqldump]

quick

max_allowed_packet = 2048M


sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


六、数据库初始化

/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql/db --explicit_defaults_for_timestamp --initialize


七、启动数据库

/usr/local/mysql/bin/mysqld_safe --defaults-extra-file=/usr/local/mysql/etc/my.cnf --user=mysql &


八、查看数据库初始root密码

cat /data/mysql/logs/error.log | grep password


九、修改数据库密码

mysqladmin -u root -p password 新密码 -S /data/mysql/sock/mysql.sock


十、登录数据库进行常用操作测试

/usr/local/mysql/bin/mysql -S /data/mysql/sock/mysql.sock -uroot -p


十一、配置系统环境信息,在/etc/profile添加以下信息

export MYSQL_HOME=/usr/local/mysql

export PATH=$JAVA_HOME/bin:$MYSQL_HOME/bin:$PATH


十二、在/usr/local/mysql/script路径下创建以下脚本便于日常运维管理操作

进程查看脚本:ps.sh

#/bin/sh

ps -ef | grep mysql


启动脚本:start.sh

#/bin/sh

/usr/local/mysql/bin/mysqld_safe --defaults-extra-file=/usr/local/mysql/etc/my.cnf --user=mysql &


停止脚本:stop.sh

#/bin/sh

/usr/local/mysql/bin/mysqladmin -S /data/mysql/sock/mysql.sock -uroot shutdown


登录数据库脚本:connect.sh

#/bin/sh

/usr/local/mysql/bin/mysql -S /data/mysql/sock/mysql.sock -uroot -p


查看错误日志脚本:tailerrog.sh

#/bin/sh

echo "显示最近两百行日志"

tail -200 /data/mysql/logs/tailerrorlog.log


查看慢查询日志脚本:tailslowlog.sh

#/bin/sh

echo "显示最近两百行日志"

tail -200 /data/mysql/logs/slow-query.log






     本文转自aaron428 51CTO博客,原文链接:http://blog.51cto.com/aaronsa/1740632,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 关系型数据库 MySQL
Linux 安装 mysql 及配置存储位置
Linux 安装 mysql 及配置存储位置
90 3
|
15天前
|
存储 SQL 关系型数据库
MySQL体系结构与配置
MySQL体系结构与配置
30 0
|
8天前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
61 8
centos7 mysql安装及配置
|
16天前
|
关系型数据库 MySQL Linux
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
|
23天前
|
SQL 负载均衡 关系型数据库
*配置MySQL集群
【8月更文挑战第16天】*配置MySQL集群
23 2
|
27天前
|
SQL 关系型数据库 MySQL
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
38 1
|
29天前
|
存储 关系型数据库 MySQL
"Linux环境下MySQL数据库名及表名大小写敏感性设置详解:从配置到影响,确保数据库操作的准确与高效"
【8月更文挑战第9天】在Linux环境中,MySQL数据库名及表名的大小写敏感性是一项重要配置。默认情况下,MySQL在Linux上区分大小写,但这可通过配置文件 `/etc/my.cnf` 中的 `lower_case_table_names` 参数调整。该参数设为0时,名称存储时保持原样,查询时不区分大小写;设为1则全部转换为小写。通过编辑配置文件并重启MySQL服务,可根据需求灵活控制名称的大小写敏感性,确保数据一致性和应用兼容性。
47 3
|
7天前
|
SQL 关系型数据库 MySQL
MySQL----配置双主双从
本文档详细介绍了如何在四台服务器上配置MySQL的双主双从架构。首先,通过关闭防火墙和SELinux确保网络通信畅通无阻。接着,设置各服务器的主机名和本地Host,确保名称解析正确。然后,通过YUM安装MySQL并修改初始密码。接下来,逐步配置四个节点(master01、master02、slave01、slave02),包括修改配置文件、创建用户和授权等步骤,实现主从复制。最后,通过SQL命令验证主从同步是否成功。
|
1月前
|
SQL 关系型数据库 MySQL
配置MySQL主从复制(一主一从)
配置MySQL主从复制(一主一从)
|
2月前
|
安全 关系型数据库 MySQL
MySQL装机全攻略:从下载到安全配置的详细指南
出于安全考虑,建议禁止root用户通过远程连接登录MySQL数据库。可以通过修改用户权限或配置防火墙规则来实现。 创建新用户并授权: 根据实际需求,创建具有不同权限的用户账户,并为他们分配必要的数据库和表权限。这样既可以满足业务需求,又可以降低安全风险。

热门文章

最新文章

推荐镜像

更多
下一篇
DDNS