GVKun编程网logo

MySql——编程(mysql 编程)

4

本文的目的是介绍MySql——编程的详细情况,特别关注mysql编程的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解MySql——编程的机会,同时也不会遗漏关于Can

本文的目的是介绍MySql——编程的详细情况,特别关注mysql 编程的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解MySql——编程的机会,同时也不会遗漏关于Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)、Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''、CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’、centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?的知识。

本文目录一览:

MySql——编程(mysql 编程)

MySql——编程(mysql 编程)

 

 

基本语法形式

语句块模式:

mysql编程中,begin....end;基本代替了原来编程语句中的{...}语法。

但又有所区别:

一个bigin...end;块,可以给定一个“标识符”,并且可以使用leave语句来“退出”该语句块。

基本流程控制语句:

if语句:

case语句:(类似php中的switch)

 

 

while循环语句:

mysql中的变量

变量它有一定的使用场景限制(其实包括前面的流程控制语句也这样):

在通常的执行各种createinsertdeleteupdateselect等语句的“环境”中,并不使用常规变量,也不能使用流程控制语句。

其实,这些语句只能在编程环境中用——通常的增删改查,可以称为命令环境。

编程环境:存储函数中,存储过程中,触发器中

普通变量的声明语法:

declare 变量名 变量类型 [default 初始值]

变量的赋值语法:

set 变量名 = 变量值

mysql还有一种变量形式,可以称为“会话变量”

会话变量的形式为:  @变量名;

会话变量无需单独声明,而是直接赋值就可以,类似php

会话变量的赋值:  set  变量名 = 值;

会话变量可以在普通命令行环境中或编程环境中使用。

语法1:set 变量名 = 表达式;#此语法中的变量必须先使用declare声明

语法2:set @变量名 = 表达式; #此方式可以无需declare语法声明,而是直接赋值,类似php定义变量并赋值。

 

语法3:select @变量名 := 表达式;#此语句会给该变量赋值,同时还会作为一个select语句输出“结果集”。

 

语法4:select 表达式 into @变量名;#此语句虽然看起来是select语句,但其实并不输出“结果集”,而只是给变量赋值。

 

 

 

当然,也可以进行运算:

 

稍微总结一下:

有两种环境;

常规mysql命令环境,可以执行:增删改查。。。

编程环境:其实就是在特定的语句语法内部:存储过程内,存储函数内,触发器内。

两种变量:

普通变量:不带@符,直接写名字,必须先声明,后使用(赋值之类),只能用于编程环境

会话变量:带@符,无需声明,直接使用(先赋值),可以用于2种环境。

流程控制语句: 只能用于编程环境

存储函数

定义形式:

 

 

 

调用形式:

跟系统函数的调用形式一样,直接使用名字,并带括号,以及根据需要带实参。

比如:

select  3, now(), f1(); //f1为自定义的存储函数。

select  3, now(), f2(3, ‘abc’,  @v1); //3个实参,其中@v1是一个前面赋值了的变量。

 

举例:

先得改变语句结束符:

 

 

删除:drop function [if exists] 存储函数名

存储过程

存储过程就是一个没有返回值数据值的“函数”。

虽然存储过程不返回单个数据值,但可以“返回”结果集——这里的返回起始就是select语句的正常结果表现。

 

定义形式:

其中,

inoutinout用于修饰一个形参的“数据流向”:

in:只作为外部输入数据,调用环境传入存储过程内部,默认值。

out:只作为输出数据,即存储过程传出到调用环境。

inout:具有双重。

存储过程调用形式:

call  存储过程名(实参1,实参2.....);

 

举例:

注:

实际,在php中,其实是这样:

$sql = “call   pro1(8, ''dd'') ”;

mysql_query( $sql );

 

删除:drop procedure [if exists] 存储过程名

 

Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)

Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)

ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)

 

 

 

原因:系统盘满了

[root@localhost opt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 17G 0 100% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 477M 80M 372M 18% /boot
[root@localhost opt]#

解决:

删除大文件后,重启系统解决

 

 

[root@localhost mysql]# /opt/lampp/lampp status
Version: XAMPP for Linux 1.8.3-3
Apache is not running.
MySQL is not running.
ProFTPD is running.

 

df: 未处理文件系统
[root@localhost opt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 17G 0 100% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 477M 80M 372M 18% /boot
[root@localhost opt]#

 

 

[root@localhost ~]# /opt/lampp/lampp status
Version: XAMPP for Linux 1.8.3-3
Apache is not running.
MySQL is running.
ProFTPD is running.

 

 

 

xampp 无法启动mysql 找不到mysql.sock

  (2016-02-24 23:21:24)
转载
  分类: 技术
出现的问题:
如果xampp中的mysql启动不了,出现ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)报错,
停止xampp的时候报:
-bash-4.1# /opt/lampp/lampp stop
Stopping XAMPP for Linux 1.8.2-6...
XAMPP: Stopping Apache...ok.
XAMPP: Stopping MySQL...ok.
XAMPP: Stopping ProFTPD...kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
fail.

解决办法:
如果网上一些方法不好用的话,可以试试以下方法:
1. 确定系统盘是否满了
#df -h
2. 删除/opt/lampp目录中的pid文件(删掉后xampp重启时会重建,如果不放心,可以先备份lampp目录)
删除mysql相关缓存:
#rm -rf /opt/lampp/var/mysql/VM_*  
删除proftp相关缓存:
#rm -rf /opt/lampp/var/proftpd.pid
如果找不到pid文件,可以搜一下:
#find /opt/lampp -name ''*.pid''

 

Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

MySQL已经被我移到数据盘了,本地连接数据库会报错:Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''

但是远程是可以连接的,my.cnf设置mysql的根目录也改成了数据盘的地址,还要在加上client的参数,设置如下:

[client]
socket = /home/data/mysql/mysql.sock

之后重启下mysql就可以了

CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

亲,是不是忘记了开MysqL服务,service MysqLd start

centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?

centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?

centos7 设置 mysql 自启动的配置文件中

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false

这里的

[Service]

User=mysql

Group=mysql,

user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?还是其他呢?

我们今天的关于MySql——编程mysql 编程的分享已经告一段落,感谢您的关注,如果您想了解更多关于Can''t connect to local MySQL server through socket ''/opt/lampp/var/mysql/mysql.sock'' (2)、Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''、CentOS yum安装mysql后 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’、centos7 设置 mysql 自启动的配置文件中 [Service] User=mysql Group=mysql,user 和 group 这边的 mysql 是指的什么?centos 的登录用户名?的相关信息,请在本站查询。

本文标签: