一、安装启动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数据库相关推荐

  1. mysql 进入数据库名_操作mysql数据库的一些命名

    一.打开数据库 1.1.打开命令行输入:mysql -u root -p 1.2.root是本地数据库的用户名,然后输入数据库的密码进入. 二.数据库操作 2.1.创建一个数据库:create dat ...

  2. mysql获取表名及其注释,mysql获得数据库所有表名和字段注释

    1.取字段注释 Select COLUMN_NAME 列名, DATA_TYPE 字段类型, COLUMN_COMMENT 字段注释 from INFORMATION_SCHEMA.COLUMNS W ...

  3. mysql 无线网络设置_操作mysql命令行的方法步骤

    操作mysql命令行的方法步骤 现在向大家介绍mysql命令行下,从数据库的建立到表数据的删除全过程,希望对大家有所帮助. 登陆mysql 打cmd命令终端,如果已经添加了mysql的环境变量,可以直 ...

  4. .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper

    .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 參考演示样例代码,例如以下所看到的: /// <summary>/// MySql 数 ...

  5. oracle数据库全数据库名,Oracle数据库中的 数据库域名、数据库名、全局数据库名、SID、数据库实例名、服务名 解释...

    菜鸟雷区 在配置listener.ora 和 tnsnames.ora 连接Oracle数据库服务器时,我们需要把 以下容易混淆的概念区分开来 数据库域名 数据库名 全局数据库名 SID 数据库实例名 ...

  6. 查询oracle全局数据库名,Oracle基础:数据库名 实例名 ORACLE_SID 服务名 域名 全局数据库名...

    Oracle中存在着这些容易混淆的名称: 数据库名实例名ORACLE_SID服务名域名全局数据库名 在oracle7/8/9i/10g中都有数据库名和实例名,在9i和10g中又引进了三个新的数据库标识 ...

  7. Mysql数据库查询当前操作的数据库名

    查询数据库名: select database() 查询表结构: select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME='表名' and t ...

  8. python mysql数据库_Python3中操作MySQL数据库

    0.安装 pip install pymysql 1.打开数据库连接 import pymysql db = pymysql.connect(host="数据库地址", user= ...

  9. python数据库实例_Python操作MySQL数据库9个实用实例

    用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1.2.3.win32-py2.7.exe MySQL-pytho ...

最新文章

  1. 第二周Access总结
  2. seaborn系列 (12) | 增强箱图boxenplot()
  3. 数据结构(严蔚敏)之六——链式队列c语言实现
  4. 《机器学习》 —— 第一章:绪论 学习笔记
  5. 小学奥数 7648 蓄水池水管问题 python
  6. Unicode字符集和多字节字符集关系
  7. javascript测试题和参考答案----试题源自牛客网
  8. idea,as git插件基本操作(插件回滚,撤销,恢复上一个版本)
  9. 王者荣耀交流协会-小组互评Alpha版本
  10. 语音识别之Fbank特征提取工具的比较(kaldi、python_speech_features、torchaudio)
  11. gt240m x86 android,国产平板福音!INTEL ATOM x86_64位Xposed框架,Android5.1(lolipop)适用...
  12. 学习与坚持是我的人生信仰
  13. 菩萨到底能不能保佑我们
  14. android 魅族定位权限,魅族Flyme5.2的权限问题
  15. 给在读研究生+未来要读研同学们的一封受益匪浅的信
  16. DS18B20数字温度计 (一) 电气特性, 寄生供电模式和远距离接线
  17. 解析DELLR710服务器迁移操作内容
  18. linux 文件打包下载到 Windows
  19. IntelliJ IDEA 安装和使用
  20. 什么是云桌面计算机,云电脑桌面是什么?这是一篇良心科普文

热门文章

  1. python的datetime模块
  2. easyui combobox开启搜索自动完成功能
  3. HTML解析利器HtmlAgilityPack
  4. Nginx SSI 设置
  5. 50个PHP程序性能优化的方法
  6. PHPStorm不能修改PHP langauge level
  7. 社区不支持HTML,popover不支持html内容吗?
  8. 排序算法有哪些_超强整理,科班算法岗的秋招之路
  9. linux启动过程及内核裁剪,裁剪测试Linux启动流程
  10. git log 查看某文件的修改历史