shell+mysql获取数据库名_shell操作mysql数据库
一、安装启动mariadb
yum install mariadb mariadb-server mariadb-libs -y
systemctl start mariadb
#导入数据
mysql
create database *** default character set utf8;
use ***;
show tables;
mysql *** < ***.sql
#赋予普通用户权限
grant all on 数据库名.* to 用户名@'%' indentified by '123456';(all-所有权限,.*-该数据库下所有表,%所有主机,123456密码)
grant select on...(select-查询权限)
#查询用户可以从哪些主机访问
use mysql;
show tables;
select * from user;
desc user;(desc查询表结构)
select User,Host,Password from user;(Host为%表示用户从所有主机都可以访问)
#普通用户登录mysql
mysql -u 用户名 -p 密码 -h 主机IP
#普通用户导入数据
mysql -u 用户名 -p 密码 -h 主机IP 数据库名 < ***.sql
二、shell脚本与mysql数据库交互
mysql命令参数详解
-u 用户名
-p 用户密码
-h 服务器IP地址
-D 连接的数据库
-N 不输出列信息
-B 使用tab键代替默认交互分隔符
-e 执行sql语句
其他选项
-E 垂直输出
-H 以HTML格式输出
-X 以XML格式输出
mysql -u 用户名 -p 密码 -h 主机IP -D 数据库名 -e "select * from 表名"
vim operate_mysql.sh
#!/bin/bash
user="用户名'
password="密码"
host="主机ip"
db_name="$1"
SQL="$2"
mysql -u"$user" -p"$password" -h"$host" -D"$db_name" -B -e "$SQL"(-B是为了可以导入excel)
sh operate_mysql.sh 参数1-数据库名 参数2-sql语句
#将sql查询结果导入excel
sh operate_mysql.sh 参数1-数据库名 参数2-sql语句 > result.txt
打开excel-数据-自文本
三、shell脚本将文本数据导入到mqsql
data.txt
vim import.sh
#!/bin/bash
user="用户名'
password="密码"
host="主机ip"
mysql_conn="mysql -u"$user" -p"$password" -h"$host""
cat data.txt | while read id name birth sex
do
if [[ $id -gt 1014 ]]; then
$mysql_conn -e "insert into 数据库名.表名 values('$id','$name','$birth','$sex')"
fi
done
sh import.sh
data2.txt
vim import.sh
#!/bin/bash
user="用户名'
password="密码"
host="主机ip"
#shell内置环境变量,如果不指定,shell默认空格或tab键为分隔符
IFS="|"
cat data2.txt | while read id name birth sex
do
if [ $id -gt 2022 ]; then
mysql -u"$user" -p"$password" -h"$host" -e "insert into 数据库名.表名 values('$id','$name','$birth','$sex')"
fi
done
sh import.sh
四、备份mysql数据,并通过ftp将其传输到远端主机
备份mysql中的库或表
mysqldump
-u 用户名
-p 密码
-h 服务器IP地址
-d 等价于--no-data 只导出表结构
-t 等价于--no-create-info 只导出数据,不导出建表语句
-A 等价于--all-databases
-B 等价于--databases 导出一个或多个数据库
mysqldump -u 用户名 -p 密码 -h 主机IP 数据库名 >***.sql(备份数据库)
mysqldump -u 用户名 -p 密码 -h 主机IP 数据库名 数据表名 >***.sql(备份数据表)
mysqldump -u 用户名 -p 密码 -h 主机IP -A >***.sql(备份所有有权限的数据库)
mysqldump -u 用户名 -p 密码 -h 主机IP -B 数据库名1 数据库名2 >***.sql(备份1个或多个数据库)
FTP常用指令
open 与FTP服务器建立连接,例:open 192.168.100.3
user 有权限登录FTP服务器的用户名和密码,例:user 用户名 密码
vim ftp.sh
#!/bin/bash
ftp -inv << EOF(-i 关闭交互模式,<
open 192.168.100.3
user 用户名 密码
cd 上传目录
put 文件名
bye
EOF
sh ftp.sh
vim auto_backup.sh
#!/bin/bash
db_user=""
db_password=""
db_host=""
ftp_user=""
ftp_password=""
ftp_host=""
src_dir=""(本地数据库备份目录)
dst_dir=""(ftp服务器目录)---chown -R 用户名:组名 目录(修改目录权限)
time_date="`date +%Y%m%d%H%M%S`"
file_name="数据库名_数据表名_${time_date}.sql"
function auto_ftp
{
ftp -niv << EOF
open $ftp_host
user $ftp_user ftp_password
cd $dst_dir
put $1
bye
EOF
}
mysqldump -u"$db_user" -p"$db_password" -h"$db_host" 数据库名 数据表名> $src_dir/$file_name && auto ftp $src_dir/$file_name
sh auto_backup.sh
#定时备份
crontab -e
*/1 * * * * sh auto_backup.sh & > /dev/null (每隔1分钟备份一次)
#编辑服务器的定时任务
crontab -e
#查看服务器的定时任务
crontab -l
#crontab的详细介绍
more /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
shell+mysql获取数据库名_shell操作mysql数据库相关推荐
- mysql 进入数据库名_操作mysql数据库的一些命名
一.打开数据库 1.1.打开命令行输入:mysql -u root -p 1.2.root是本地数据库的用户名,然后输入数据库的密码进入. 二.数据库操作 2.1.创建一个数据库:create dat ...
- mysql获取表名及其注释,mysql获得数据库所有表名和字段注释
1.取字段注释 Select COLUMN_NAME 列名, DATA_TYPE 字段类型, COLUMN_COMMENT 字段注释 from INFORMATION_SCHEMA.COLUMNS W ...
- mysql 无线网络设置_操作mysql命令行的方法步骤
操作mysql命令行的方法步骤 现在向大家介绍mysql命令行下,从数据库的建立到表数据的删除全过程,希望对大家有所帮助. 登陆mysql 打cmd命令终端,如果已经添加了mysql的环境变量,可以直 ...
- .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper
.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 參考演示样例代码,例如以下所看到的: /// <summary>/// MySql 数 ...
- oracle数据库全数据库名,Oracle数据库中的 数据库域名、数据库名、全局数据库名、SID、数据库实例名、服务名 解释...
菜鸟雷区 在配置listener.ora 和 tnsnames.ora 连接Oracle数据库服务器时,我们需要把 以下容易混淆的概念区分开来 数据库域名 数据库名 全局数据库名 SID 数据库实例名 ...
- 查询oracle全局数据库名,Oracle基础:数据库名 实例名 ORACLE_SID 服务名 域名 全局数据库名...
Oracle中存在着这些容易混淆的名称: 数据库名实例名ORACLE_SID服务名域名全局数据库名 在oracle7/8/9i/10g中都有数据库名和实例名,在9i和10g中又引进了三个新的数据库标识 ...
- Mysql数据库查询当前操作的数据库名
查询数据库名: select database() 查询表结构: select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME='表名' and t ...
- python mysql数据库_Python3中操作MySQL数据库
0.安装 pip install pymysql 1.打开数据库连接 import pymysql db = pymysql.connect(host="数据库地址", user= ...
- python数据库实例_Python操作MySQL数据库9个实用实例
用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1.2.3.win32-py2.7.exe MySQL-pytho ...
最新文章
- 第二周Access总结
- seaborn系列 (12) | 增强箱图boxenplot()
- 数据结构(严蔚敏)之六——链式队列c语言实现
- 《机器学习》 —— 第一章:绪论 学习笔记
- 小学奥数 7648 蓄水池水管问题 python
- Unicode字符集和多字节字符集关系
- javascript测试题和参考答案----试题源自牛客网
- idea,as git插件基本操作(插件回滚,撤销,恢复上一个版本)
- 王者荣耀交流协会-小组互评Alpha版本
- 语音识别之Fbank特征提取工具的比较(kaldi、python_speech_features、torchaudio)
- gt240m x86 android,国产平板福音!INTEL ATOM x86_64位Xposed框架,Android5.1(lolipop)适用...
- 学习与坚持是我的人生信仰
- 菩萨到底能不能保佑我们
- android 魅族定位权限,魅族Flyme5.2的权限问题
- 给在读研究生+未来要读研同学们的一封受益匪浅的信
- DS18B20数字温度计 (一) 电气特性, 寄生供电模式和远距离接线
- 解析DELLR710服务器迁移操作内容
- linux 文件打包下载到 Windows
- IntelliJ IDEA 安装和使用
- 什么是云桌面计算机,云电脑桌面是什么?这是一篇良心科普文