mysql数据库

在亚马逊Red Hat 7.1 linux上安装mysql

和自甴很熟 提交于 2020-02-09 04:01:15
安装前检查之前是否安装并卸载之前的和删除关联文件 rpm -qa|grep mysql yum remove mysql mysql-server mysql-libs mysql-common //在线删除 rpm -e mysql57-community-release-el7-9.noarch // 普通删除模式 rm -rf /var/lib/mysql rm /etc/my.cnf 软件卸载完毕后如果需要可以删除mysql的数据库: rm -rf /var/lib/mysql 在线安装方式 1.一开始是通过这个命令来直接安装的: yum install mysql mysql-server mysql-devel 提示: 安装mysql和mysql-devel都成功,但是安装mysql-server失败 解决方式 : 第一种:用*MariaDB*来代替 第二种:就是从官网上下载安装 wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm //下载YUM库 yum localinstall -y mysql57-community-release-el7-7.noarch.rpm //安装YUM库 yum install -y mysql-community-server /

Mysql索引那些事情

冷暖自知 提交于 2020-02-09 03:22:20
什么是索引? 索引在搜索引擎优化简单解释 指已经被收录且参与关键词排名的页面。 索引的通俗解释 索引就像是图书的目录,根据目录中的页码快速找到所需内容。 索引在百度百科中的解释 在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 MySQL官方对索引的定义为: 索引(Index)是帮助MySQL高效获取数据的数据结构。我们可以简单理解为:**快速查找排好序的一种数据结构。**Mysql索引主要有两种结构:B+Tree索引和Hash索引。我们平常所说的索引,如果没有特别指明,一般都是指B树结构组织的索引(B+Tree索引) 有哪些索引算法 hash算法 什么是hash 如果有编程经验的小伙伴都知道不管是哪种语言都是有hash实现,简单来说就是一个 key 通过一个 hash(key) 算法后得到一个固定长度值,可以通过这个计算后的值与存放数据容器长度取模后的值做索引,快速定位元素( 可以看作类似数组索引 ),查询时间复杂度为O(1),在java里面一个对象可以重写hashCode()方法。 hash数据结构 存在问题 只支持等值索引定位 hash算法虽然能快速定位元素位置,时间复杂度O(1)查询速度是相当可观的, but 这个作为 mysql

MySQL忘记root密码的解决方案

老子叫甜甜 提交于 2020-02-09 02:49:58
在实际操作中忘记MySQL的root密码是一件令人很头痛的事情,不要急以下的文章就是介绍MySQL的root密码忘记的时候解决方案,我们可以对其进行如下的步骤重新设置,以下就是文章的详细内容描述。 首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。 一、LINUX 1、修改MYSQL的登陆设置: # vim /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysql] datadir=/var/lib/MySQL socket=/var/lib/MySQL/MySQL.sock skip-name-resolve skip-grant-tables 保存并且退出vim 2、重新启动MYSQL # /etc/init.d/mysql restart (具体重启方式各异) Stopping MySQL: [ OK ] Starting MySQL: [ OK ] 3、登陆并修改MYSQL密码 # /usr

mysql修改密码

ぃ、小莉子 提交于 2020-02-09 00:54:57
方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('123'); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password 123 方法3:用UPDATE直接编辑user表 首先登录MySQL。 mysql> use mysql; mysql> update user set password=password('123') where user='root' and host='localhost'; mysql> flush privileges; 方法4:在忘记root密码的时候,可以这样 以windows为例: 1. 关闭正在运行的MySQL服务。 2. 打开DOS窗口,转到mysql\bin目录。 3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 4. 再开一个DOS窗口

yzmcms

こ雲淡風輕ζ 提交于 2020-02-08 19:22:26
yzmcms 官网: https://www.yzmcms.com/ 安装环境要求 操作系统:Linux/Unix/Windows 软件环境:Apache/Nginx/IIS + PHP 5.2~7.3 + MySQL 5.0 及以上 【测试环境】 Ubuntu18 apahce2 php MySQL sudo apt install php apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap php php-common php7.2 php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline sudo apt install mysql-server libaio1 libevent-core-2.1-6 libhtml-template-perl mysql-client-5.7 mysql-client-core-5.7 mysql-server mysql-server-5.7 mysql-server-core-5.7 安装方法: 运行 “你的网址/index.html”

Zabbix4.0安装并监测自己

六月ゝ 毕业季﹏ 提交于 2020-02-08 16:58:48
1、搭建之前确认一下Centos系统 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@localhost ~]# cat /proc/version Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017 2、配置epel源足够,配置完成后可以将所有组件升级到最新 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo [root@localhost ~]# yum -y update 3、检查防火墙与selinux是否关闭 [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# setenforce 0 4、搭建lamp环境 [root@localhost ~]# yum install -y httpd mariadb

【大白话系列】MySQL 学习总结 之 初步了解 MySQL 的架构设计

♀尐吖头ヾ 提交于 2020-02-08 15:47:29
一、MySQL还是个黑盒子 我们都知道,只要我们系统引入了 MySQL 驱动和连接池,就能从数据库连接池获取一个数据库连接,然后就可以执行增删改查的操作了。 可是我们并不知道 MySQL 里面是怎么执行的,例如我们执行了 insert 语句,只知道表里面多了一条数据,MySQL 是怎么插入的我们就不知道了。 二、解开 MySQL 这个黑盒子 1、一条工作线程: 举例: 我们都知道,在 Socket 编程里,ServerSocket 会有一条线程负责监听 Socket 发送过来的网络请求,并且负责从网络请求里读取请求数据,然后再进行处理 。 原理: 那么在 MySQL 里也是一样的道理,会有一条 工作线程 专门去监听 MySQL 数据库连接池里的网络请求,并且负责将请求中的 SQL 读取出来。 2、 SQL 接口: 上面说到 MySQL 的工作线程会从网络连接中读取 SQL。但是接下来是由谁继续执行呢? 举例: 我们可以想象一下,在我们的 Web 系统里头,Tomcat 这个进程会接收客户端的网络请求,然后经过转发交给我们写的接口执行。 举例: 在 MySQL 里其实也一样,MySQL 就是一个数据库管理系统,上面提及到的工作线程会接收各个客户端的网络请求,然后经过转发交给内部的接口执行。 而这里的内部接口,叫 SQL 接口 ,它是 MySQL 内部里的一个组件。它是一套执行 SQL

linux启动mysql报错 Starting MySQL... ERROR! The server quit without updating PID file (XXXX pid文件位置)

孤人 提交于 2020-02-08 13:44:40
最近在云服务器上安装mysql 启动时报错了,从错误中可以看出,定位在pid文件上,有三种解决方案 1、重启服务器:因为服务器更新时,可能会禁用某些守护进程,重启后即可恢复 2、删除配置文件,重启试试 先备份一下 mv /etc/my.cnf /etc/my.cnf.backup ,重启mysql服务 service mysqld restar 3、更新数据库文件 有时候新版本的mysql 不喜欢之前版本创建的数据库文件, sudo tail /var/db/mysql/XXXXXX.err 查看一下错误,可能会发现 tables: Table ‘mysql.proxies_priv’ doesn’t exist:这时候你可以使用安全模式启动mysql ,首先 vim /etc/rc.cnf 添加以下内容 mysql_enable="YES" mysql_args="--skip-grant-tables --skip-networking"然后使用rc.d启动mysql /etc/rc.d/mysqld start如果显示启动成功,这时升级数据库文件 sudo mysql_upgrade然后修改rc.cnf,关闭安全模式 mysql_enable="YES" #mysql_args="--skip-grant-tables --skip-networking

mysql binlog 设置日志大小 保存时间

我的梦境 提交于 2020-02-08 12:37:51
//本内容主要参考自 https://www.cnblogs.com/kevingrace/p/5907254.html 原文中包含如何恢复数据等操作 环境是centos 面板宝塔 使用命令行进入mysql的root //设置文件大小,单位是字节,下面换算是100M set global max_binlog_size=104857600; //设置文件保存天数,下面是保存7天 set global expire_logs_days = 7; 常用命令,前提都是在进入root账户后 查看binlog日志是否开启 mysql> show variables like 'log_%'; +---------------------------------+---------------------+ | Variable_name | Value | +---------------------------------+---------------------+ | log_bin | ON | | log_bin_trust_function_creators | OFF | | log_bin_trust_routine_creators | OFF | | log_error | /var/log/mysqld.log | | log_output | FILE | | log

MySQL.. ERROR! The server quit without updating PID file问题解决

荒凉一梦 提交于 2020-02-08 12:32:01
不小心将服务器OS给重启了,再启动数据库的时候,出现了很奇怪的问题 [root@dev run]# service mysql restart ERROR! MySQL server PID file could not be found! Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/run/mysql.pid). 无法启动mysql,后来上网找了一下解决方法,无非就是以下几种 1. 注释/etc/my.cnf里的skip-federated注释掉即#skip-federated; 2. my.cnf文件配置过高,重新定义其中的参数(根据服务器情况定义); 3. 杀掉mysql_safe和mysqld进程,然后再重启; 4. 当前日志文件过大,超出了my.cnf中定义的大小(默认为64M),删除日志文件再重启; 但是在主机中: 1. 注释中无skip-federated这个选项 2. My.cnf是自己优化过的,断电之前正常使用,不是这个的问题 3. Ps –ef | grep mysql 根本就没有mysql的僵尸进程 4. 没有这个问题 基本上网上的所有方式都试过了,都无法解决问题,然后在数据库的data目录(mysql/data)查看错误日志