mysql是用的.sh写的脚本,执行后提示没有命令

mysql是用的.sh写的脚本,执行后提示没有命令,第1张

在Shell中执行mysql的脚本,这里介绍比较容易使用的一种方法

首先写好sql的脚本,后缀为.sql,比如

sql_file.sql:内容如下

#这是SQL的脚本

create table if not exists test_sql(id int(10),name varchar(20))

insert into test_sql values(1,'正餐')

select * from test_sql

很简单的创建、插入、查询

之后shell的脚本,内容如下

#!/bin/bash #这是执行SQL的脚本,传入数据库表,和SQL文件名即可

name=$1

file_name=$2

cd /opt/lampp/bin ./mysql -uroot -p123456 <<EOF

use ${name}

source ${file_name}

EOF

./mysql -uroot -p123456是进入mysql的命令,前面的路径可以改成自己的绝对路径

<<EOF EOF中间可以写出任意的mysql脚本

其中,如果要执行某个.sql的命令,直接用 source 脚本.sql 即可执行该脚本上面的命令,这里使用的是source sql_file.sql

此外,如果在mysql中需要执行shell脚本

可以在EOF中 ./mysql -uroot -p123456<<EOF \! sh shell.sh EOF

前面加上 !\ +linux中执行的shell命令即可

方法一、适合所有格式的mysql数据库,通过对数据库导出导进写个脚本定时执行:

1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 >导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc >/存放路径/wcnc.sql

2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名>导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users>/存放路径/wcnc_users.sql

3.导出一个数据库结构 mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >/存放路径/wcnc_db.sql

定义:

-d 没有数据

--add-drop-table 在每个create语句之前增加一个drop table

4.导入数据库 常用source 命令 进入mysql数据库控制台:

如mysql -u root -p mysql>use 数据库

方法二、针对mysql数据表格式为MyISAM的

假如数据文件在/var/lib/mysql

那么直接写个脚本

cp -r /var/lib/mysql /备份到的文件夹路径

隔机备份用rsync增量,或定时完整备份。

转载:

http://blog.csdn.net/lmss82/article/details/4414178

方案5

摘要:解决不能通过mysql .sock连接MySQL问题 这个问题主要提示是,不能通过 '/tmp/mysql .sock'连到服务器,而php标准配置正是用过'/tmp/mysql .sock',但是一些mysql 安装方法 将 mysql .sock放在/var/lib/mysql .sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东:

[mysql d]

socket=/var/lib/mysql .sock

改一下就好了,但也会引起其他的问题,如mysql 程序连不上了,再加一点:

[mysql ]

socket=/tmp/mysql .sock

或者还可以通过修改php.ini中的配置来使php用其他的mysql .sock来连,这个大家自己去找找

或者用这样的方法:

ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock

成功了,就是这样ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock

OK!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8722829.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存