mysql数据库

PHP读取MySql数据入门尝试

老子叫甜甜 提交于 2020-03-21 04:57:23
刚接触php不是很久,今天尝试了下用php链接mysql数据库,只是简单的读取数据尝试。直接贴代码吧,算是一个笔记记录。 < html > < title > php demo Page </ title > < body > <? php $mysql_server_name = " localhost " ; // 数据库服务器名称 $mysql_username = " root " ; // 连接数据库用户名[默认为root,如果忘记可以通过select * from mysql.user 方式查询] $mysql_password = " beyond " ; // 连接数据库密码 $mysql_database = " test " ; // 数据库的名字 $conn = mysql_connect ( $mysql_server_name , $mysql_username , $mysql_password ); // 从表中提取信息的sql语句 $strsql = " select * from user " ; // 执行sql查询 $result = mysql_db_query ( $mysql_database , $strsql , $conn ); // 获取查询结果 $row = mysql_fetch_row ( $result ); echo '

explain的使用

拟墨画扇 提交于 2020-03-21 01:28:48
在对某个Query优化过程中,须要不断地使用explain来验证各种调整是否有效。 MySQL explain功能展示的各种信息的解释如下: id: MySQL Query Optimizer 选定的执行计划中查询的序列号。 select_type: 所使用的查询类型,主要有以下这几种查询类型。 DEPENDENT SUBQUERY:子查询内层的第一个select,依赖于外部查询的结果集。 DEPENDENT UNION:子查询中的union,且为union中从第二个select开始的后面所有的select,同样依赖于外部查询的结果集。 PRIMARY:子查询中的最外层查询,注意并不是主键查询。 SIMPLE:除子查询或者union之外的其他查询。 SUBQUERY:子查询内层查询的第一个select,结果不依赖于外部查询的结果集。 UNCACHETABLE SUBQUERY:结果集无法缓存的子查询。 UNION:union语句中第二个select开始后面的所有select,第一个select为primary。 UNION RESULT:union中的合并结果。 table:显示这一步所访问的数据库中的表的名称。 type:告诉我们队表使用的访问方式,主要包含如下几种类型。 all:全表扫描。 const:读常量,最多只会有一条记录匹配,由于是常量,实际上只须要读一次。 eq

linux下安装mysql(server和client)

蹲街弑〆低调 提交于 2020-03-21 01:07:22
一、引言 想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的 MySQL 。本以为有Windows下使用SQLServer的经验,觉得在Linux下安装 MySql 应该是易如反掌的事,可在真正安装和使用 MySQL 时走了很多弯路,遇见很多问题,毕竟Linux和Windows本身就有很大区别。为了让和我一样的初学者在学习的过程中少走弯路,尽快入门,写了此文,希望对您有所帮助。 二、安装Mysql 1、下载 MySQL 的安装文件 安装 MySQL 需要下面两个文件: MySQL-server-5.0.9-0.i386.rpm    MySQL-client-5.0.9-0.i386.rpm 下载地址为: http://dev.mysql.com/downloads/mysql/5.0.html ,打开此网页,下拉网页找到“Linuxx86 RPM downloads”项,找到“Server”和“Clientprograms”项,下载需要的上述两个rpm文件。 2、安装 MySQL rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是–ivh,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程

怎样设置才能允许外网访问MySQL

不羁岁月 提交于 2020-03-20 23:04:05
设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】. 找到禅道的mysql配置文件路径: /opt/zbox/etc/mysql 1:登录mysql数据库 : 用mysql -uroot -p 登陆mysql,然后采用以下方法开启远程访问权限:  mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>FLUSH RIVILEGES; 2:设置mysql的配置文件 /etc/mysql/my.cnf 找到 bind-address =127.0.0.1 将其修改为:   bind-address =0.0.0.0   重启mysql:/etc/init.d/mysql restart; 来源: https://www.cnblogs.com/longronglang/p/6849962.html

解决mysql无法登陆

烈酒焚心 提交于 2020-03-20 13:58:29
3 月,跳不动了?>>> 一、错误消息:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决: 1、打开mysql配置文件 /etc/mysql/my.cnf ,添加一行“skip-grant-tables"配置,作用是在mysql启动时不启动授权表以便忘记密码后使用。 2、重启mysql服务,service mysql restart 3、命令行输入“mysql -uroot -p”(不输入密码),回车进入数据库。 4、执行 use mysql;”使用mysql数据库。 5、执行 update user set password=PASSWORD("newpassword") where Host='localhost' and user='root';”(修改root的密码) 6、再打开 /etc/mysql/my.cnf ,删除 skip-grant-tables配置, 保存并关闭文件。 7、 重启mysql服务 8、在命令行中输入“mysql -uroot -p newpassword”,问题搞定! 二、解决修改数据库帐号密码、或host时,无效问题 1.使用ssh直接连接到数据库,不要使用工具连接 2.执行 flush privileges 刷新权限 三

linux mysql忘记密码

限于喜欢 提交于 2020-03-20 13:46:53
3 月,跳不动了?>>> 1. 检查 mysql 服务是否启动,如果启动,关闭 mysql 服务 运行命令: ps -ef | grep -i mysql 如果开着就运行关闭的命令:service mysqld stop 2.修改mysql的配置文件my.conf 一般在/etc目录下,运行命令:vi /etc/my.cnf,编辑文件 在文件的 [mysqld]标签下添加一句: skip-grant-tables 然后wq!保存退出。 3.重启数据库 运行命令:service mysqld start 4.重启数据库 运行命令:service mysqld start 5.进入到mysql数据库 运行命令: mysql -u root 6.进入到mysql数据库 运行命令: mysql -u root 7.修改密码 运行语句: use mysql; 继续运行语句: update mysql.user set authentication_string=password( 'root_password' ) where user= 'root' ; root_password 替换成你想要的密码 8.把步骤2加的东西删除掉,在重启服务器,就可以使用刚才修改的密码登录进服务器了。 mysql -u root -p 到这一步已经全部结束。 来源: oschina 链接: https:/

MyCat基本知识

谁都会走 提交于 2020-03-20 13:38:39
MyCat基本知识 一.Mycat基本元素 1.逻辑库,mycat中存在,对应用来说相当于mysql数据库,后端可能对应了多个物理数据库,逻辑库中不保存数据 2.逻辑表,逻辑库中的表,对应用来说相当于mysql的数据表,后端可能对应多个物理数据库中的表,也不保存数据 逻辑表分类 1.分片表,进行了水平切分的表,具有相同表结构但存储在不同数据库中的表,所有分片表的集合才是一张完整的表 2.非分片表,垂直切分的表,一个数据库中就保存了一张完整的表 3.全局表,所有分片数据库中都存在的表,如字典表,数量少,由mycat来进行维护更新 4.ER关系表,mycat独有,子表依赖父表,保证在同一个数据库中 二.安装mycat 1.配置环境变量 export JAVA_HOME=/usr/lib/jdk1.8.0_20 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JER_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JER_HOME/bin:$PATH:/usr/local/mycat/bin export MYCAT_HOME=/usr/local/mycat export ZOOKEEPER_HOME=/usr/ local/zookeeper-3.4

Python数据库操作 Mysql数据库表引擎与字符集#学习猿地

被刻印的时光 ゝ 提交于 2020-03-20 12:22:47
# Mysql数据库表引擎与字符集 ![](./imgs/752951346A5F4E7EBDE362FA97107707.png) ### 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:**客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)。**那服务器进程对客户端进程发送的请求做了什么处理,才能产生最后的处理结果呢?客户端可以向服务器发送增删改查各类请求,我们这里以比较复杂的查询请求为例来画个图展示一下大致的过程: ![image](./imgs/167f4c7b99f87e1c.png) > 虽然查询缓存有时可以提升系统性能,但也不得不因维护这块缓存而造成一些开销,比如每次都要去查询缓存中检索,查询请求处理完需要更新查询缓存,维护该查询缓存对应的内存区域。从MySQL 5.7.20开始,不推荐使用查询缓存,并在MySQL 8.0中删除。 ### 2.存储引擎 `MySQL`服务器把数据的存储和提取操作都封装到了一个叫`存储引擎`的模块里。我们知道`表`是由一行一行的记录组成的,但这只是一个逻辑上的概念,物理上如何表示记录,怎么从表中读取数据,怎么把数据写入具体的物理存储器上,这都是`存储引擎`负责的事情。为了实现不同的功能,`MySQL`提供了各式各样的`存储引擎`

关于Aborted connection告警日志的分析

你说的曾经没有我的故事 提交于 2020-03-20 12:21:47
前言: 有时候,连接MySQL的会话经常会异常退出,错误日志里会看到" Got an error reading communication packets "类型的告警。本篇文章我们一起来讨论下该错误可能的原因以及如何来规避。 1.状态变量Aborted_clients和Aborted_connects 首先我们来了解下Aborted_clients和Aborted_connects这两个状态变量的含义,当出现会话异常退出时,这两个状态值会有变化。根据官方文档描述,总结如下: 造成Aborted_connects状态变量增加的可能原因: 客户端试图访问数据库,但没有数据库的权限。 客户端使用了错误的密码。 连接包不包含正确的信息。 获取一个连接包需要的时间超过connect_timeout秒。 造成Aborted_clients状态变量增加的可能原因: 程序退出前,客户机程序没有调用mysql_close()。 客户端睡眠时间超过了wait_timeout或interactive_timeout参数的秒数。 客户端程序在数据传输过程中突然终止。 简单来说即:数据库会话未能正常连接到数据库,会造成Aborted_connects变量增加。数据库会话已正常连接到数据库但未能正常退出,会造成Aborted_clients变量增加。 2.Got an error reading

MySQL学习笔记10:修改数据

∥☆過路亽.° 提交于 2020-03-20 07:31:03
数据库通过插入、更新和删除等方式来该表表中的记录,其中 insert 语句实现插入数据 update 语句实现更新数据 delete 语句实现删除数据 参考表 插入数据 不指定字段名插入 mysql> insert into person values(1,'张三','男',1988); Query OK, 1 row affected, 1 warning (0.03 sec) insert into后面是表名,values后面是需要插入的数据 values中的数据必须与字段名相匹配,如第一字段为空值则输入null,尾部可不输入 需要注意的是,字符串数据必须用引号包裹 指定字段名插入 mysql> insert into person(id,name,sex,birth) values(6,'王芳','女',1992); Query OK, 1 row affected, 1 warning (0.05 sec) insert into 后面接表名和字段,此处的字段可调整位置 但一个必要条件是后面的values值必须与其字段对应 同时插入多条数据 mysql> insert into person(id,name) values(8,'钱名'),(9,'章硕'); Query OK, 2 rows affected (0.04 sec) Records: 2 Duplicates