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 log和slow 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)
相关推荐
Linux是个一个性能优异,安全的操作系统,互联网超多的web应用都是基于Linux作为服务器,所以系统的学习一下Linux操作系统是非常有必要的。 1.JAVA开发环境的安装与配置(JDK安装,环境变量的...7.Flex开发环境搭建
在Linux系统中搭建javaee开发环境[包括安装JDK 1.8,tomcat 9.0,mysql 5.7数据库]
1. 熟悉在 Ubuntu 系列的 Linux 发行版中配置 C++数据库开发环境的搭建,主要是为 C++ OTLv4 的 使用作准备。 二、实验环境 1. 操作系统:Ubuntu 9.10 或更新版本; 2.Oracle Database Server:10g R2 XE。 3.MySQL...
php环境搭建。apache安装,mysql安装,整合安装的过程,安装步骤。
学习PHP 脚本编程语言之前,必须先搭建并熟悉开发环境。正所谓“工欲善其事,必先利其器”。搭建LAMP 工作平台,需要在Linux 操作系统上分别安装Apache 网页服务器,PHP 应用服务器和MySQL 数据库管理系统,以及一些...
这个术语来自欧洲,在那里这些程序常用来作为一种标准开发环境。名字来源于每个程序的第一个字母。每个程序在所有权里都符合开放源代码标准:Linux是开放系统;Apache是最通用的网络服务器;mySQL是带有基于网络管理...
linux环境下,jdk的安装,tomcat的安装与配置,还有mysql数据库的开发
四、 搭建 Linux下 Java开发环境.......8 五、 linux下Java开发环境的配置.....9 六、 linux下 tomcat5 + mysql5 + jdk1.5 + eclipse3.3.1 + myeclipse6.0配置...11 (一)、安装所需软件包:.11 1.JDK 5.0 ...
Ubuntu下Python的开发环境搭建。。主要供个人备份使用。。。并非专业指导。 包括VMware软件下 Ubuntu 安装 python虚拟环境 MySQL数据库 Redis数据库等
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk、tomcat、eclipse的安装,如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录...
LEMP是一个软件堆栈,包含一组免费的开源工具,这些工具用于为高流量和动态网站...CentOS 8.1下搭建LAMP(Linux+Apache+MySQL+PHP)环境 https://www.linuxidc.com/Linux/2020-02/162446.htm 在本文中,您将学习如何在Cen
以下是对MySQL数据库的详细介绍: 核心特性与优势 开源与跨平台 MySQL遵循GPL开源协议,这意味着任何人都可以免费下载、使用和修改其源代码。这种开放性促进了广泛的社区支持和第三方插件、工具的发展。此外,MySQL...
这里仅介绍 docker 开发环境搭建 和 windows 快速搭建环境, 你也可以自己手动安装依赖 macos 开发环境搭建 brew install tcl-tk pyenv # macos 12 最低只能安装此版本 pyenv install 3.7.13 brew install mysql@...
这里仅介绍 docker 开发环境搭建 和 windows 快速搭建环境, 你也可以自己手动安装依赖 macos 开发环境搭建 brew install tcl-tk pyenv # macos 12 最低只能安装此版本 pyenv install 3.7.13 brew install mysql@...
Linux系统,基础用法积累,常用开发环境搭建,运维相关操作。 Linux基础 序号 文章标题 01 Linux系统管理,常用命令分类总结 环境安装 序号 文章标题 01 Centos7下安装Jdk8、Tomcat8、MySQL5.7环境 02 Centos7下搭建...
这个项目涉及到的知识点比较多,我做了一年才搞定了它,主要的知识点如下:Android应用开发,网络编程(tcp/ip协议)、Mysql数据库编程、阿里云c语言服务器环境的搭建、ARM嵌入式底层驱动开发、linux操作系统的移植...
虽然已经做过很多次,但是由于步骤繁琐,很容易忘记,下面小编抽个时间把linux生产环境搭建步骤记录下来,分享在软件开发网平台,以便需要之时使用 登录远程MySQL mysql -h 192.168.1.100 -u root -p 给MySQl非root...
.Net core的战略意义、对比.Net Framework学.Net core、.Net core开发环境的搭建、如何在Linux下运行.Net core网站、Nginx、对比Entity Framework学Entity Framework Core、对比http://ASP.Net MVC学...
以下是对MySQL数据库的详细介绍: 核心特性与优势 开源与跨平台 MySQL遵循GPL开源协议,这意味着任何人都可以免费下载、使用和修改其源代码。这种开放性促进了广泛的社区支持和第三方插件、工具的发展。此外,MySQL...