安装MySQL

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 安装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
相关文章
|
11天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)
|
1月前
|
关系型数据库 MySQL 数据库连接
关于MySQL-ODBC的zip包安装方法
关于MySQL-ODBC的zip包安装方法
|
1月前
|
关系型数据库 MySQL Python
python安装MySQL-python:EnvironmentError解决办法
python安装MySQL-python:EnvironmentError解决办法
31 1
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
99 1
|
30天前
|
关系型数据库 MySQL 数据库
rds安装数据库客户端工具
安装阿里云RDS的数据库客户端涉及在本地安装对应类型(如MySQL、PostgreSQL)的客户端工具。对于MySQL,可选择MySQL Command-Line Client或图形化工具如Navicat,安装后输入RDS实例的连接参数进行连接。对于PostgreSQL,可以使用`psql`命令行工具或图形化客户端如PgAdmin。首先从阿里云控制台获取连接信息,然后按照官方文档安装客户端,最后配置客户端连接以确保遵循安全指引。
82 1
|
24天前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 中apt 安装MySQL数据库
Ubuntu 中apt 安装MySQL数据库
66 0
|
3天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
13 0
|
4天前
|
关系型数据库 MySQL Linux
centos7安装mysql-带网盘安装包
centos7安装mysql-带网盘安装包
33 2
|
7天前
|
关系型数据库 MySQL 数据库
Docker安装MySQL
Docker安装MySQL
14 1
|
8天前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL 安装及连接
MySQL 安装及连接
25 0

推荐镜像

更多