安装MySQL

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 安装MySQL一、MySQL官方网站介绍1.Developer Zone : MySQL开发工程师板块Articles : Oracle工程师自己的博客Plant MySQL : 和MySQL相关从业人员的博客Bugs : MySQL BugListWorklog : 开发记录Labs : MySQL实验性项目2.

安装MySQL
一、MySQL官方网站介绍

1.Developer Zone : MySQL开发工程师板块

Articles : Oracle工程师自己的博客
Plant MySQL : 和MySQL相关从业人员的博客
Bugs : MySQL BugList
Worklog : 开发记录
Labs : MySQL实验性项目

2.Downloads : MySQL下载

Enterprise : MySQL企业版本相关,略过
Community : 社区版,我们下载和使用社区版
MySQL Community Server : MySQL Server
MySQL Fabric : 和管理相关的工具
MySQL Router : 路由中间件
MySQL Utilities : MySQL应用程序包
MySQL Proxy : MySQL代理。Alpha版本,不推荐

3.Documentation : MySQL文档

官方文档版面更改,下线离线文档在左侧Menu的下面
PDF A4
EPUB
HTML
二、MySQL下载
1.推荐下载Linux-Generic 版本
2.Source Code 版本主要作用是为了让开发人员研究源码使用,自己编译对性能提升不明显
3.不推荐 Version 5.5.x ,有部分bug
4.推荐使用Version 5.6.x 和Version 5.7.x

下载地址:
MySQL Community Server 5.7.9 Linux Generic x86-64bit
MySQL Community Server 5.6.27 Linux Generic x86-64bit

三、MySQL安装

MySQL 5.7.X安装

shell>groupadd mysql
shell>useradd -r -g mysql mysql
shell>cd /usr/local
shell>tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell>ln -s full-path-to-mysql-VERSION-OS mysql
shell>cd mysql
shell>mkdir mysql-files
shell>chmod 770 mysql-files
shell>chown -R mysql .
shell>chgrp -R mysql .
shell>bin/mysqld --initialize --user=mysql # 该步骤中会产生临时的root@localhost密码,需要自己记录下来

shell>bin/mysql_ssl_rsa_setup
shell>chown -R root .
shell>chown -R mysql data mysql-files
shell>bin/mysqld_safe --user=mysql &

Next command is optional

shell> cp support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

systemctl start mysqld

echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

source /etc/profile

使用临时密码登录mysql后,系统会提示你要修改密码

shell>cat cat /etc/my.cnf|grep log_err |awk -F '=' '{print $2}' |grep password |awk '{print $NF}'

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> set password=password('123');
Query OK, 0 rows affected, 1 warning (5.00 sec)

MySQL启动
mysqld_safe --user=mysql & 即可启动,mysqld_safe 是一个守护mysqld 进程的脚本程序,旨在 mysqld 意外停止时,可以重启mysqld进程

也可以通过 INSTALL_BINARRY 中的步骤,使用/etc/init.d/mysql.server start 进行启动(启动脚本以你复制的实际名字为准,通常改名为mysqld 即 /etc/init.d/mysqld start)

配置文件my.cnf

[mysqld]

federated

basic settings

server-id = 11
port = 3306
user = mysql
bind_address = 10.166.224.32 #根据实际情况修改
autocommit = 0 # 5.6.X安装时,需要注释掉,安装完成后在打开
character_set_server=utf8mb4 默认字符集
skip_name_resolve = 1 禁止域名解析
max_connections = 800
max_connect_errors = 1000
datadir = /data/mysql_data #根据实际情况修改,建议和程序分离存放

datadir = /usr/local/mysql-5.6.27-linux-glibc2.5-x86_64/data

transaction_isolation = READ-COMMITTED
explicit_defaults_for_timestamp = 1
join_buffer_size = 134217728
tmp_table_size = 67108864
tmpdir = /tmp
max_allowed_packet = 16777216
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
interactive_timeout = 1800 服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。
wait_timeout = 1800 服务器关闭非交互连接之前等待活动的秒数。
read_buffer_size = 16777216
read_rnd_buffer_size = 33554432
sort_buffer_size = 33554432

log settings

log_error = error.log
slow_query_log = 1
slow_query_log_file = slow.log
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
log_slow_slave_statements = 1
log_throttle_queries_not_using_indexes = 10
expire_logs_days = 90
long_query_time = 2
min_examined_row_limit = 100

replication settings

master_info_repository = TABLE
relay_log_info_repository = TABLE

log_bin = bin.log

sync_binlog = 1

gtid_mode = on

enforce_gtid_consistency = 1

log_slave_updates

binlog_format = row
relay_log = relay.log
relay_log_recovery = 1
binlog_gtid_simple_recovery = 1
slave_skip_errors = ddl_exist_errors

innodb settings

innodb_page_size = 8192
innodb_buffer_pool_size = 2G ##根据实际情况修改
innodb_buffer_pool_instances = 8
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_lru_scan_depth = 2000
innodb_lock_wait_timeout = 5
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
innodb_flush_method = O_DIRECT
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda

innodb_log_group_home_dir = /redolog/ #根据实际情况修改

innodb_undo_directory = /undolog/ #根据实际情况修改

innodb_undo_logs = 128
innodb_undo_tablespaces = 3
innodb_flush_neighbors = 1
innodb_log_file_size = 4G #根据实际情况修改
innodb_log_buffer_size = 16777216
innodb_purge_threads = 1
innodb_large_prefix = 1
innodb_thread_concurrency = 64
innodb_print_all_deadlocks = 1
innodb_strict_mode = 1
innodb_sort_buffer_size = 67108864

semi sync replication settings

plugin_dir=/usr/local/mysql/lib/plugin #根据实际情况修改
plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
loose_rpl_semi_sync_master_enabled = 1
loose_rpl_semi_sync_slave_enabled = 1
loose_rpl_semi_sync_master_timeout = 5000

[mysqld-5.7]
innodb_buffer_pool_dump_pct = 40
innodb_page_cleaners = 4
innodb_purge_threads = 4
innodb_undo_log_truncate = 1
innodb_max_undo_log_size = 2G
innodb_purge_rseg_truncate_frequency = 128
binlog_gtid_simple_recovery=1
log_timestamps=system
transaction_write_set_extraction=MURMUR32

binlog_checksum=NONE # only for group replication

group replication setting

plugin_load=group_replication.so

loose_group_replication_group_name=e5720089-6b00-11e5-b248-fa163e30f9a2

loose_group_replication_start_on_boot=1

loose_group_replication_recovery_user='rpl_user'

loose_group_replication_recovery_password='rpl_pass'

show_compatibility_56=on

[mysqld_multi]
mysqld = mysqld_safe
log=/usr/local/mysql/mysql_multi.log

[mysqld1]
server-id=111
basedir=/usr/local/mysql
datadir=/data1
port=3307
socket=/tmp/mysql.sock1

[mysqld2]
server-id=222
basedir=/usr/local/mysql
datadir=/data2
port=3308
socket=/tmp/mysql.sock2

[mysqld3]
server-id=333
basedir=/usr/local/mysql56
datadir=/data3
port=3309
socket=/tmp/mysql.sock3

几个重要的参数配置和说明

innodb_log_file_size=4G 做实验可以更改的小点,线上环境推荐使用4G,以前5.5和5.1等版本之所以官方给的值很小,是因为太大后有BUG,现在BUG已经修复

innodb_undo_logs = 128 和 innodb_undo_tablespaces = 3 建议在安装之前就确定好该值,后续修改比较麻烦

[mysqld], [mysqld-5.7] 这种 tag 表明了下面的配置什么版本下才生效,[mysqld]下均生效

autocommit 这个参数在5.5.X以后才有,安装5.6.X的时候要注意先把该参数注释掉,等安装完成后,在打开,5.7.X无需预先注释

datadir, innodb_log_group_home_dir, innodb_undo_directory 一定要注意他的权限是 mysql:mysql
四、mysql-utilities 的安装

tar xvf mysql-utilities-1.6.5.tar.gz

cd mysql-utilities-1.6.5

yum -y install mysql-utilities.noarch

python ./setup.py build

python ./setup.py install

安装完成,至此mysqlfrm mysqlrplshow等功能都可以使用了。
原文地址https://www.cnblogs.com/green-frog-2019/archive/2019/08/11/11337260.html

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16小时前
|
关系型数据库 MySQL 数据库
mysqlTools 一分钟部署安装本mysql多个版本,解锁繁琐部署过程
mysqlTools 一分钟部署安装本mysql多个版本,解锁繁琐部署过程
15 2
|
1天前
|
关系型数据库 MySQL Linux
本地虚拟机centos7通过docker安装主从mysql5.7.21
本地虚拟机centos7通过docker安装主从mysql5.7.21
|
3天前
|
关系型数据库 MySQL 数据库
龙蜥操作系统上安装MySQL:步骤详解与常见问题解决
龙蜥操作系统上安装MySQL:步骤详解与常见问题解决
|
3天前
|
关系型数据库 MySQL Linux
在Centos7中:通过Docker安装MySQL5.7(保姆级)
在Centos7中:通过Docker安装MySQL5.7(保姆级)
|
3天前
|
编解码 安全 关系型数据库
祝福CSDN的小伙伴2024年快乐!Windows7安装MySQL
祝福CSDN的小伙伴2024年快乐!Windows7安装MySQL
|
5天前
|
关系型数据库 MySQL Linux
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程
|
5天前
|
安全 关系型数据库 MySQL
MySQL安装教程
MySQL安装教程
29 0
|
6天前
|
SQL 关系型数据库 MySQL
【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务
该文章提供了在虚拟机上安装MySQL服务的简化方法,特别是针对新手。作者提供了一个自动化脚本`install_mysql.sh`,使得安装过程更简单。用户需要下载`install.rpm`资源,将其放在指定目录下,然后创建并编辑脚本文件,将提供的代码粘贴进去,通过`chmod u+x`授权,最后运行脚本`./install_mysql.sh [rpm文件路径]`来安装MySQL。文章还附有相关图片说明。
16 1
【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务
|
6天前
|
SQL 缓存 关系型数据库
MySQL常见问题解决和自动化安装脚本
这篇内容包含了两个主要部分:解决MySQL登录问题和处理GPG密钥问题。当MySQL密码正确但无法登录时,可以通过执行SQL命令`ALTER USER`和`flush privileges`来修改和重置密码。对于MySQL安装时的GPG密钥错误,首先需要强制删除旧的MySQL仓库包,导入新的GPG公钥,然后安装MySQL服务器。如果遇到GPG检查错误,可以使用`--nogpgcheck`参数忽略检查来安装。最后,提供了一个自动化安装MySQL的脚本,用于检查旧版本、卸载残留、安装MySQL8并启动服务。
22 1
MySQL常见问题解决和自动化安装脚本
|
10天前
|
SQL 关系型数据库 MySQL
【MySQL-3】图形化界面工具DataGrip安装&配置&使用
【MySQL-3】图形化界面工具DataGrip安装&配置&使用

推荐镜像

更多