`

Linux搭建Mysql数据库开发环境

阅读更多
Linux搭建Mysql数据库开发环境
1.MySQL 概述
【1】MySQL :Oracle旗下的开源关系型数据库,这里选择版本。
 
  
【2】 MySQL Community Edition:Mysql开源社区版本,目前最新版本:5.7.21
MySQL Community Edition is the freely downloadable version of the world's most popular open source database. It is available under the GPL license and is supported by a huge and active community of open source developers.
 
【3】选择下载MySQL Community Edition安装包:
【4】目前有2个版本,这里我选择GA-5.7.21,开发版本最新DEV-8.0.4
 
 
2. MySQL 安装
【1】此教程已经默认Linux环境已经安装SSH,利用Xftp5工具把安装包是上传到Linux服务器:/usr/local/mysql
【2】使用Xhell5工具登录到Linux服务器,并进入到:cd  /usr/local/mysql 
【3】使用tar -xvf 命令解压安装包,Xhell5 终端输入:tar  -xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
【4】使用 rpm -qa|grep * 命令检测linux服务器是否安装有其他mysql版本,输入:rpm -qa|grep mariadb  --mariadb是为了支持Linux 开发的一个分支版本
【5】使用 rpm -e --nodeps 命令卸载上述mariadb,可重复输入命令校验是否卸载 rpm -qa|grep mariadb
[root@marklin mysql]# rpm -e --nodeps mariadb-server-5.5.56-2.el7.x86_64
[root@marklin mysql]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
[root@marklin mysql]# rpm -e --nodeps mariadb-5.5.56-2.el7.x86_64
【6】使用 rpm -ivh命令依次按照如下顺序安装:
rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-5.7.21-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm
mysql-community-test-5.7.21-1.el7.x86_64.rpm  --需要perl支持,输入: yum install perl-JSON.noarch
3. MySQL 配置
【1】启动mysql服务,输入: systemctl start mysqld.service 
或者输入: service mysqld start
【2】查看mysql服务状态,输入:  service mysqld status
【3】获取出厂密码,输入: cat /var/log/mysqld.log | grep password  -- Jt0!P=n!B9;8
【4】测试登录myql:mysql -u root -p,输入密码:Jt0!P=n!B9;8
【5】修改默认密码并修改默认密码安全策略:
数字+英文字母,包含大小写:123456Abc
数字+小写字母:123456abc
调整密码安全策略:
set global validate_password_policy=0;
set global validate_password_mixed_case_count=0; 
set global validate_password_number_count=3; 
set global validate_password_special_char_count=0;
set global validate_password_length=3;
set password for 'root'@'localhost' = password('123456Abc'); --修改默认密码:123456Abc
show variables like  'validate_password%'; --查看修改的密码验证参数
【6】授权数据库用户和密码:grant all privileges on *.* to 'root'@'%' identified by '123456Abc' with grant option;
【7】刷新策略生效:flush privileges;
【8】使用修改的密码测试登录:mysql -u root -p,输入密码:123456Abc
【9】开放3306端口:
开放端口需要配置防火墙启动:systemctl start firewalld.service
查看防火墙状态:systemctl status firewalld.service
开放端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新载入配置: firewall-cmd --reload
 
【10】使用客户端登录验证:
4. MySQL 性能优化之参数配置
【1】 mysql日志输出记录:
mysql可记录日志的方式有 general query logslow query log 2种,需要注意的是:
 (1).为了性能考虑,一般通用查询日志general log不会开启。slow log可以定位一些有性能问题的sql,而general log会记录所有的sql。
 (2). mysql5.0版本,如果要开启slow log、general log,需要重启,从MySQL5.1.6版开始,general query log和slow query log开始支持写到文件或者数据库表两种方式.
 (3).日志的开启,输出方式的修改,都可以在Global级别动态修改。
 
慢日志查询输出方式:
 
系统变量名称
设置参数值
参数描述描述
备注
slow_query_log
[on|off]  
是否启用慢查询日志
默认为off
slow_query_log_file
[filename]
指定慢查询日志文件的路径和名字,可使用绝对路径指定
默认值是'主机名_slow.log',位于datadir目录  
long_query_time
2
SQL语句运行时间阈值
执行时间大于参数值的语句才会被记录下来
min_examined_row_limit
100
SQL语句检测的记录数少于设定值
不会被记录到慢查询日志,即使这个语句执行时间超过了long_query_time的阈值  
log_queries_not_using_indexes
1
将没有使用索引的语句记录到慢查询日志
 
log_throttle_queries_not_using_indexes
10
设定每分钟记录到日志的未使用索引的语句数目
超过这个数目后只记录语句数量和花费的总时间  
log-slow-admin-statements
1
记录执行缓慢的管理SQL
alter table,analyze table, check table, create index, drop index, optimize table, repair table
log_timestamps
system
5.7版本新增时间戳所属时区参数
默认记录UTC时区的时间戳到慢查询日志,应修改为记录系统时区  
log_output
[none|file|table]
指定慢查询日志的输出方式
从5.5版本开始可以记录到日志文件(FILE,慢查询日志)和数据库表(TABLE,mysql.slow_log)中  
操作实例:
【1】显示slow的情况:show variables like '%slow%';
【2】修改数据库配置参数:
mysql> set @@global.slow_query_log = on;
Query OK, 0 rows affected (0.00 sec)
 
mysql> set @@global.log_slow_admin_statements=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql> set global min_examined_row_limit=100;
Query OK, 0 rows affected (0.00 sec)
 
mysql> set global log_queries_not_using_indexes=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql> set global log_throttle_queries_not_using_indexes=10;
Query OK, 0 rows affected (0.00 sec)
【3】查看修改slow的情况:show variables like '%slow%';
mysql> show variables like '%slow%';
+---------------------------+---------------------------------+
| Variable_name             | Value                           |
+---------------------------+---------------------------------+
| log_slow_admin_statements | ON                              |
| log_slow_slave_statements | OFF                             |
| slow_launch_time          | 2                               |
| slow_query_log            | ON                              |
| slow_query_log_file       | /var/lib/mysql/marklin-slow.log |
+---------------------------+---------------------------------+
5 rows in set (0.01 sec)
【5】配置记录没有使用索引的sql:
mysql> set @@global.log_queries_not_using_indexes=on;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like '%index%';
+----------------------------------------+----------------------------------------+
| Variable_name                          | Value                                  |
+----------------------------------------+----------------------------------------+
| eq_range_index_dive_limit              | 200                                    |
| innodb_adaptive_hash_index             | ON                                     |
| innodb_adaptive_hash_index_parts       | 8                                      |
| innodb_cmp_per_index_enabled           | OFF                                    |
| log_bin_index                          |                                        |
| log_queries_not_using_indexes          | ON                                     |
| log_throttle_queries_not_using_indexes | 10                                     |
| performance_schema_max_index_stat      | -1                                     |
| relay_log_index                        | /var/lib/mysql/marklin-relay-bin.index |
+----------------------------------------+----------------------------------------+
9 rows in set (0.00 sec)
 
通用查询日志输出方式 :
系统变量名称
设置参数值
参数描述
备注
log_output
[none|file|table]
通用查询日志输出支持格式
系统默认为file,一般推荐使用file和table格式混合输出通用日志,none为不输出日志文件
general_log
[on|off]  
是否启用通用查询日志
系统默认为off
general_log_file
[filename]
通用查询日志位置及名字
指定日志文件路径以及日志名称
操作实例:
【1】查询系统变量:show variables like '%general%';
mysql> show variables like '%general%';
+------------------+----------------------------+
| Variable_name    | Value                      |
+------------------+----------------------------+
| general_log      | OFF                        |
| general_log_file | /var/lib/mysql/marklin.log |
+------------------+----------------------------+
2 rows in set (0.00 sec)

【2】开启general_log:set global general_log=on;
mysql> set global general_log=on;
Query OK, 0 rows affected (0.01 sec)
 
mysql> show variables like '%general%';
+------------------+----------------------------+
| Variable_name    | Value                      |
+------------------+----------------------------+
| general_log      | ON                         |
| general_log_file | /var/lib/mysql/marklin.log |
+------------------+----------------------------+
2 rows in set (0.34 sec)
 
【3】设置日志输出格式:set global log_output='file,table';
mysql> set global log_output='file,table';
Query OK, 0 rows affected (0.00 sec)
 
mysql> show variables like 'log_output';
+---------------+------------+
| Variable_name | Value      |
+---------------+------------+
| log_output    | FILE,TABLE |
+---------------+------------+
1 row in set (0.01 sec)
 

0
0
分享到:
评论

相关推荐

    06搭建数据库开发环境

    ### 06搭建数据库开发环境 #### 6.1 MySQL概述 ##### 6.1.1 MySQL简介 MySQL是一款广受好评的...通过上述步骤,开发者可以有效地搭建起MySQL数据库开发环境,并利用XAMPP提供的工具进行高效的数据库管理和开发工作。

    Linux Web开发与数据库服务器环境搭建(设置)

    Linux是个一个性能优异,安全的操作系统,互联网超多的web应用都是基于Linux作为服务器,所以系统的学习一下Linux操作系统是非常有必要的。 1.JAVA开发环境的安装与配置(JDK安装,环境变量的...7.Flex开发环境搭建

    Linux平台搭建MySQL数据库完整版步骤

    在Linux平台上搭建MySQL数据库是一个常见的任务,特别是在服务器管理和开发环境中。以下是一步步详细说明如何在Linux上安装MySQL 5.7.31的步骤: 首先,确保你的系统满足MySQL的安装要求。通常,Linux发行版如...

    ecs-linux云服务器安装mysql数据库流程.doc

    本文将详细讲解在Linux环境下安装MySQL数据库的步骤。 首先,我们需要从MySQL的官方网站下载适用于Linux 64位系统的数据库压缩包。这个压缩包包含了MySQL的所有必要文件,包括可执行程序和服务配置脚本等。下载完成...

    Linux搭建MySQL环境安装包

    在Linux系统中搭建MySQL环境是一项基础且重要的任务,尤其对于那些需要进行数据库管理或Web开发的用户来说。MySQL是一款开源、免费的关系型数据库管理系统,它以其高效、稳定和易用性而广受赞誉。本安装包是专为...

    Linux下JAVA开发环境的搭建

    Linux 下 JAVA 开发环境的搭建是指在 Linux 操作系统中安装和配置 Java 开发环境,包括安装 JDK、Tomcat 和 MySQL 等组件。本文将详细介绍如何在 Linux 系统中搭建 JAVA 开发环境的步骤。 知识点一:安装 JDK 在 ...

    Linux搭建php开发环境

    在Linux系统中搭建PHP开发环境是一项基础且重要的任务,它涉及到服务器配置、Web服务的安装以及PHP解释器的集成。本教程将详细讲解这个过程,确保开发者能够在Linux环境下顺利进行PHP编程。 首先,我们需要安装一个...

    BES开发环境搭建-Linux平台.zip

    本文将详细讲解如何在Linux平台上搭建BES的开发环境,这对于熟悉Linux操作系统,想要从事BES相关开发工作的人员至关重要。我们将探讨BES的版本(如BES2500和BES2300),以及在Linux环境下设置开发环境所涉及的关键...

    在Linux系统中搭建javaee开发环境[包括安装JDK 1.8,tomcat 9.0,mysql 5.7数据库]

    "在Linux系统中搭建javaee开发环境[包括安装JDK 1.8,tomcat 9.0,mysql 5.7数据库]" 本文将指导读者在 Linux 系统中搭建 JavaEE 开发环境,包括安装 JDK 1.8、Tomcat 9.0 和 MySQL 5.7 数据库。 在开始搭建之前,...

    用OO方法增强Linux下MySQL数据库的应用性能.pdf

    【文章标题】:使用面向对象方法...总之,采用面向对象的方法对MySQL数据库应用进行优化,可以显著提升Linux环境下的数据库性能,降低维护成本,同时提高开发效率。这对于依赖于MySQL的大型网站或企业级应用尤其有价值。

    Linux下安装jdk、MySQL数据库、Tomcat

    在Linux系统中,安装JDK、MySQL...完成以上步骤后,你就成功地在Linux环境中搭建了一个包含JDK、MySQL数据库和Tomcat服务器的基础架构,可用于开发、测试或部署Java Web应用程序。记得根据实际需求调整配置和安全设置。

    linux 搭建 php、mysql 、apatch 环境

    在Linux系统中搭建PHP、MySQL和Apache环境是创建动态网站或Web应用程序的基础步骤。这个过程通常被称为“LAMP”(Linux、Apache、MySQL、PHP)堆栈。在Ubuntu操作系统上,这一过程相对简单,主要涉及以下几个关键...

    Linux下PHP开发环境搭建(Apache2.4+PHP7.1+MySQL5.7)

    在本文中,我们将详细介绍如何在Linux环境下搭建一个基于Apache 2.4、PHP 7.1和MySQL 5.7的开发环境,这是一个常见的LAMP(Linux、Apache、MySQL、PHP)架构,广泛用于Web应用程序的开发。 首先,我们需要下载必要...

    Linux搭建mysql、java、tomcat环境

    #### 步骤一:下载MySQL数据库安装包 根据不同的Linux发行版,下载对应的MySQL社区版本的安装包。具体步骤如下: - 对于RHEL 7/CentOS 7/Oracle Linux 7: ```bash rpm -Uvh ...

    linux下开发环境搭建

    在Linux系统中,搭建Web服务器和Java开发环境是开发者日常工作中常见的任务。本文将详细介绍如何在Linux环境下配置这些环境,包括RPM包管理器、Samba文件共享服务以及Java、Eclipse、MyEclipse和Tomcat等软件的安装...

    C++数据库开发环境配置

    通过本实验,参与者不仅能够了解如何在Ubuntu上搭建适合C++编程的数据库开发环境,还能够学会如何与Oracle和MySQL数据库服务器进行交互。 #### 实验环境要求 - **操作系统**:Ubuntu 9.10或更高版本。 - **Oracle ...

    Centos7 搭建apache+mysql+php环境

    本文将详细介绍如何在 Centos7 系统上搭建一个完整的 PHP 开发环境,包括 Apache HTTP Server、MySQL 数据库以及 PHP 解释器的安装和配置过程。 #### 二、准备工作 - **硬件需求**:一台 Centos7 服务器。 - **...

Global site tag (gtag.js) - Google Analytics