从今天开始MySQL相关方面的东西

今天是关于MySQL的安装

系统为 redhat 6.10

数据库为MySQL 5.7.21

PS:目前最新版本为MySQL 5.7.25

1. 目录规划

2. MySQL 5.7 下载

目前MySQL 社区的GA 提供5 和8 的下载

由于目前大多数系统用的还是5的版本

这里统一使用5的版本

注意,下面是按照5.7.21的版本安装,5.25相同

3. 新建用户及目录

/usr/sbin/groupadd -g 105 mysql

/usr/sbin/useradd -u 105 -g mysql mysql

echo "mysql123" |passwd mysql --stdin

4. 新建目录mkdir -p /data/mysql/software

mkdir -p /usr/local/mysql

mkdir -p /data/mysql/data

mkdir -p /datalog/mysql/binlog

mkdir -p /datalog/mysql/relaylog

chown -R mysql:mysql /usr/local/mysql

mkdir -p /data/mysql/tmp

chown -R mysql:mysql /data/mysql

chown -R mysql:mysql /datalog/mysql/

5. 配置环境变量su - mysql

vim ~/.bash_profile

export MYSQL_HOME=/usr/local/mysql

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

export LD_LIBRARY_PATH=$MYSQL_HOME/lib:$LD_LIBRARY_PATH

source ~/.bash_profile

6. 建立配置文件

我们这里建立 /etc/my.cnf[mysql]

user =

password =

[mysqld]

#-----------------MySQL Basic Setting-----------------#

server-id = 1723161113

port = 3306

user = mysql

pid-file = mysql.pid

character_set_server = utf8mb4

default_storage_engine = InnoDB

skip_name_resolve = 1

lower_case_table_names = 1

explicit_defaults_for_timestamp = 1

open_files_limit = 65535

max_connections = 1000

max_connect_errors = 100000

basedir = /usr/local/mysql

datadir = /data/mysql/data

tmpdir = /data/mysql/tmp

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

query_cache_type = 0

query_cache_size = 0

join_buffer_size = 64M

tmp_table_size = 64M

max_allowed_packet = 32M

read_buffer_size = 16M

read_rnd_buffer_size = 32M

sort_buffer_size = 32M

#-----------------MySQL Log Setting-----------------#

log_error = mysql-error.log

log_bin = /datalog/mysql/binlog/mysql-bin.log

slow_query_log_file = mysql-slow.log

relay_log = /datalog/mysql/relaylog/mysql-relay.log

log_slave_updates = 1

sync_binlog = 1

relay_log_recovery = 1

binlog_format = row

expire_logs_days = 14

slow_query_log = 1

long_query_time = 2

log_queries_not_using_indexes = 1

log_throttle_queries_not_using_indexes = 10

log_slow_admin_statements = 1

log_slow_slave_statements = 1

min_examined_row_limit = 1000

#-----------------MySQL Replication Setting-----------------#

slave_skip_errors = ddl_exist_errors

master_info_repository = TABLE

relay_log_info_repository = TABLE

gtid_mode = on

enforce_gtid_consistency = 1

binlog_rows_query_log_events = 1

#-----------------MySQL InnoDB Setting-----------------#

innodb_page_size = 16384

innodb_buffer_pool_size = 25600M

innodb_data_file_path = ibdata1:1G:autoextend

innodb_buffer_pool_instances = 8

innodb_file_per_table = 1

innodb_buffer_pool_load_at_startup = 1

innodb_buffer_pool_dump_at_shutdown = 1

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 5

innodb_io_capacity = 800

innodb_io_capacity_max = 2000

innodb_flush_method = O_DIRECT

innodb_file_format = Barracuda

innodb_file_format_max = Barracuda

innodb_undo_logs = 128

innodb_undo_tablespaces = 3

innodb_flush_neighbors = 1

innodb_log_file_size = 2G

innodb_log_buffer_size = 16777216

innodb_print_all_deadlocks = 1

innodb_strict_mode = 1

innodb_sort_buffer_size = 67108864

#-----------------MySQL semi Replication Setting-----------------#

#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

修改my.cnf权限

chown mysql:mysql /etc/my.cnf

7. 依赖包检查libaio-0.3.107-10.el6.x86_64

libaio-devel-0.3.107-10.el6.x86_64

lvm2-2.02.143-7.el6_8.1.x86_64

8. 卸载以前版本

如果有以前版本的MySQL ,则需要先下载

如只有lib库则可以不用动

RedHat Enterprise Linux 6适用】# rpm -qa|grep -i mysql

mysql-libs-5.1.71-1.el6.x86_64

qt-mysql-4.6.2-26.el6_4.x86_64

mysql-5.1.71-1.el6.x86_64

mysql-server-5.1.71-1.el6.x86_64

#yum remove mysql-5.1.71-1.el6.x86_64 qt-mysql-4.6.2-26.el6_4.x86_64 mysql-libs-5.1.71-1.el6.x86_64 mysql-server-5.1.71-1.el6.x86_64

【RedHat Enterprise Linux 7适用】# rpm -qa|grep -i mariadb*

mariadb-server-5.5.52-1.el7.x86_64

mariadb-libs-5.5.52-1.el7.x86_64

mariadb-embedded-5.5.52-1.el7.x86_64

mariadb-test-5.5.52-1.el7.x86_64

mariadb-bench-5.5.52-1.el7.x86_64

mariadb-5.5.52-1.el7.x86_64

mariadb-devel-5.5.52-1.el7.x86_64

mariadb-embedded-devel-5.5.52-1.el7.x86_64

# yum remove -y mariadb*

9. 解压文件

9.1 解压安装文件su - mysql

tar xzvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz  -C /usr/local/mysql/ --strip-components=1

9.2 配置服务文件

这里将mysql.server文件拷贝值init.d目录使其可以当作服务启停cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

这里修改下面几处vim /etc/init.d/mysqld

basedir=/usr/local/mysql

datadir=/data/mysql/data

lockdir='/data/mysql/data'

mysqld_pid_file_path=/data/mysql/data/mysql.pid

10. 初始化数据库

接下来我们初始化MySQL#su - mysql

$cd /usr/local/mysql

$/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql

初始化过程中可以通过error文件查看进度

tail -f /data/mysql/data/mysql-error.log

11. 启动数据库$ /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

$ netstat -lntp|grep mysqld

后续可以使用如下命令启停数据库

service mysqld stop

service mysqld start

service mysqld restart

设置MySQL自启动

chkconfig mysqld on

12. 连接数据库

默认密码在error文件中有

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

使用如下命令连接

mysql -S /data/mysql/data/mysql.sock -uroot -ppassword

连接后的安全性设置参见MySQL常见命令

好了 MySQL的 Linux 安装就先讲到这里

后续内容尽情期待

mysql 5.7.21-linux_MySQL 5.7.21 Linux平台安装 Part 2相关推荐

  1. mysql 5.6.21 linux_MySQL 5.6.21 发布下载

    MySQL 5.6.21 变化(2014-09-23) InnoDB 说明 --skip-innodb选项现在不用了,使用时将会产生一个警告信息.在未来的MySQL版本将被删除.这也适用于它的同义词( ...

  2. OD使用教程21(上) - 调试篇21

    OD使用教程21(上) - 调试篇21 让编程改变世界 Change the world by program 今天我们的主题是:眼见非实 譬如...... 多态病毒和变形病毒 多态是第一种对杀毒软件 ...

  3. Linux 第21天: (09月14日) Linux自动化安装和SELinux

    Linux 第21天: (09月14日) Linux自动化安装和SELinux Linux系统自动化安装 本章内容 系统安装过程 配置anaconda 自动化安装系统 安装程序 CentOS系统安装 ...

  4. linux rpm mysql 路径_linux基础-linux 下 安装 rpm 格式 的 mysql

    在Linux操作系统下,安装MYSQL有两种方式: 一种tar安装方式, 另外一种是rpm安装方式. 这两种安装方式有什么区别呢?尽管我们在Linux下常用tar来压缩/解压缩文件,但MYSQL的ta ...

  5. linux mysql授权外部访问权限,Linux中安装Mysql授权远程访问

    Linux中安装MySQL 因为使用yum安装.安装过程需保证网络通畅 一.安装mysql 1.yum安装mysqlCentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql, ...

  6. Linux简单安装Mysql+Apach+PHP+phpMyAdmin

    Linux简单安装Mysql+Apach+PHP+phpMyAdmin 2008年06月02日 星期一 上午 01:00 从网上看到许多Apache+Mysql+PHP的安装文档,但有的总是会有写错误 ...

  7. MySQL——在Linux下安装和卸载MySQL

    MySQL--在Linux下安装和卸载MySQL 摘要:本文主要学习了如何在Linux系统中安装和卸载MySQL数据库. 查看有没有安装过MySQL 使用命令查看有没有安装过: 1 [root@loc ...

  8. linux下安装mysql(利用Cloudera Manager安装集群中的CDH环境的第七步)(CM安装CDH第七步)

    第一步官网上下载  对应linux系统下mysql的tar.gz解压包 第二步linux下新建一个自定义目录,利用xftp工具将下载的 这个mysql-5.7.24-linux-glibc2.12-x ...

  9. linux7 mysql vbox_mysql安装 Vbox下安装Linux并安装Mysql

    1.安装包下载 SqLyog下载(网上提供的Webyog SQLyog Ultimate 12.0.8.0 pj版本,我这里就不提供了) Mysql下载(Ubuntu自己会提供) 2.安装过程 2.1 ...

最新文章

  1. Dynamics 365 for CRM: Sitemap站点图的可视化编辑功能
  2. 简单实现Dedecms RSS全站输出
  3. vs2015企业版密钥
  4. Java常用接口与类——基本数据类型的包装类
  5. 获得代理ippython_Python学习笔记六(免费获取代理IP)
  6. Docker容器技术-基础与架构
  7. [摘抄] 匈牙利命名法
  8. Item 1:Always Use Properties Instead of Accessible Date Members
  9. “吃神么,买神么”的第一个Sprint计划(第三天)
  10. LINUX上使用命令ln新建,修改链接
  11. java电影购票系统_基于Java的电影院购票系统
  12. 【免费】搜狗站长URL自动推送工具1.4.1
  13. 卸载Microsoft Edge浏览器
  14. 如何在和010editor中粘贴hex
  15. 【Python基础教程】while循环用法详解
  16. 计算机组成原理平均cpi怎么算_计算机组成原理(一)
  17. 障碍物参考线交通规则融合器:Frame类
  18. dm385和8127的区别
  19. java中的枚举是什么?枚举怎么使用?
  20. 如何使用Erdas进行去霾处理

热门文章

  1. 【零基础学习iOS开发】【02-C语言】05-进制
  2. 实现、设置-Android TabWidget-by小雨
  3. 献给iphone开发的同仁们,同时也给自己做个笔记
  4. /lib/libcrypto.so“ not found,is 32-bit instead of 64-bit
  5. 南邮哈夫曼编码c语言代码_漫画:“哈夫曼编码” 是什么鬼?
  6. flask 接口 让别人能访问_flask搭建一个前后端分离的系统
  7. java面向对象封装之有参无返与有参有返
  8. 【Makefile由浅入深完全学习记录8】条件判断语句
  9. 【Makefile由浅入深完全学习记录7】Makefile中变量的高级主题下
  10. 面向对象思想 常说的OOP五大原则就是指1、单一职责原则; 2、开放闭合原则; 3、里氏替换原则; 4、依赖倒置原则; 5、接口隔离原则。...