Linux下操作数据库
一、安装数据库
1.卸载旧版本
- 检查是否安装有MySQL Server:rpm -qa | grep mysql
- rpm -e mysql_libs //普通删除模式
- rpm -e --nodeps mysql_libs // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
2.安装MySQL
1)yum在线安装
- 通过命令查看yum上提供的数据库可下载版本:yum list | grep mysql
- 安装数据库: yum -y install mysql-server mysql-devel
2)编译安装MySQL
- 安装编译的环境(需要的包):yum -y install make gcc-c++ cmake bison-devel ncurses-devel
- 下载mysql-5.6.14.tar.gz,并解压:tar -zxvf mysql-5.6.14.tar.gz
- 进入到解压后的文件夹:cd mysql-5.6.14
- 编译安装[源码=》编译]:cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
- 编译并安装:make && make install
- 配置MySQL:
- 查看是否有mysql用户及用户组:cat /etc/passwd 查看用户列表;cat /etc/group 查看用户组列表
- 创建mysql用户及用户组:groupadd mysql;useradd -g mysql mysql
- 修改/usr/local/mysql权限:chown -R mysql:mysql /usr/local/mysql
- 初始化配置,进入安装路径(在执行下面的指令),执行初始化配置脚本,创建系统自带的数据库和表:cd /usr/local/mysql;初始化指令:scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
- 注意点:1.在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置
2.在CentOS 6.8版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动,修改名 称,防止干扰:mv /etc/my.cnf /etc/my.cnf.bak
3.连接数据库
1)查看是否是开机启动(若2~5都是on则表明是开机启动):chkconfig --list | grep mysql

2)设置开机启动(若2~5都是off):chkconfig mysql on
3)启动数据库:service mysql start
4)停止数据库 service mysql stop
5)进入mysql并设置密码为XXX:
- 进入mysql目录:cd /usr/local/mysql/bin
- 第一次登陆不需要密码:./mysql -u root -p
- 设置密码:mysql> SET PASSWORD = PASSWORD('XXX');
- 明文登录:./mysql -u root -pXXX,-p和XXX之间没有空格

4.Windows的navicat连接Linux的数据库报错

解决办法:
- 关闭防火墙:service iptables stop
- 授权:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES;
- 启动数据库:service mysql start
二、执行SQL语句
- 创建数据库:create database IF NOT EXISTS test;
- 查看当前系统中存在的数据库:show databases;

- 切换到test数据库:use test;

- 创建表:create table IF NOT EXISTS test001;
- 查询数据:

- 更新数据:

- 删除数据:

三、配置mysql环境变量
1.修改配置文件:vi /etc/profile
- 方法一:写一个MYSQL_HOME,值为mysql的安装路径:MYSQL_HOME=/usr/local/mysql
在PATH后面加上$MYSQL_HOME/bin:PATH=$PATH:$MYSQL_HOME/bin
export后面加上MYSQL_HOME:export PATH MYSQL_HOME
- 方法一:写一个MYSQL_HOME,值为mysql的安装路径:MYSQL_HOME=/usr/local/mysql

- 方法二:vi /etc/profile进入后,在最后一行添加:export PATH=$PATH:/usr/local/mysql/bin即可

2.重新加载配置文件:source /etc/profile

四、编写SQL脚本
1.新建脚本(opt目录下):touch deldata.sh
2.编写sql语句:
- #!/bin/bash
- mysql的安装路径:mysql=/usr/local/mysql/bin/mysql(或者将mysql加入环境变量)
- #数据库信息:
HOSTNAME="IP"
PORT="3306"
USERNAME="root"
PASSWORD="123456"
- #数据库和数据表名称:
DBNAME="tes"
TABLENAME="test001"
- #插入数据:
sql="insert into ${TABLENAME} values('王五',88888)"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e"${sql}"
- #查询数据:
sql="select * from ${TABLENAME}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e"${sql}"
Linux下操作数据库的更多相关文章
- linux下mysql数据库的操作
本文主要针对linux下mysql数据库的安装,以及数据库的创建和简单的数据库操作进行说明. ①.Mysql数据库的安装: 数据库的安装分为源码安装和rpm安装. 当然对于老手来说需要进行一些自定义的 ...
- Linux下链接数据库图形化工具
(一).Linux环境下mysql的安装.SQL操作 Linux下安装MySQL (rmp --help) 基本步骤:上传软件->检查当前Linux环境是否已经安装,如发现系统自带的,先卸载-& ...
- Linux下MySQL数据库主从同步配置
说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...
- Linux下MySQL数据库的备份与恢复
Linux下MySQL数据库的备份与恢复 作者:Grey 原文地址: Github 语雀 博客园 基于版本 MySQL5.7 Deepin Linux 15.11 xtrabackup-2.4.18 ...
- Linux 下操作GPIO(两种方法,驱动和mmap)(转载)
目前我所知道的在Linux下操作GPIO有两种方法: 1.编写驱动,这当然要熟悉Linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据io ...
- Linux 下操作gpio(两种方法,驱动和mmap)
目前我所知道的在linux下操作GPIO有两种方法: 1. 编写驱动,这当然要熟悉linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据 ...
- linux下操作gpio寄存器的方法
一. 在驱动中: 1. 用的时候映射端口:ioremap; #define GPIO_OFT(x) ((x) - 0x56000000) #define GPFCON (*(volatile unsi ...
- linux下oracle数据库字符集修改
linux下oracle数据库字符集修改 0.RHEL6.7.oracle11gr2 1.登录oracle.在安装oracle的用户下进入数据库. $ sqlplus / as sysdba 2.查询 ...
- 记录--linux下mysql数据库问题
本次主要记录一下linux下mysql数据库的一些问题,也是之前经常用到的知识,这里简单总结一些问题,方便自己以后的回顾.原来一直使用的是阿里云的RDS数据库mysql版,主要是因为上次阿里云做活动可 ...
随机推荐
- CODE FESTIVAL 2016 qual C题解
传送门 \(A\) 什么玩意儿-- const int N=105; char s[N];int n,f1,f2; int main(){ scanf("%s",s+1),n=st ...
- (14)Go导入包几种方式
(1)一般方式[导入单个和多个] (2)匿名导入包/忽略包 (主要用到有些包的init函数) (3)点操作包 (4)包别名/自定义包名 package main ////导入单个包 //import ...
- 各种DTO类最好有 无参数的构造方法
以一下这个类为例 @Getter @Setter @ToString class Person { private String s; public Person(String s) { this.s ...
- sturts标签中
struts中的s标签中textfield和textarea中不需要加上value和中间值,通过name可以直接取到. textfield和textarea标签没有value属性,需要加上${ylqx ...
- javascript中对一个对象数组按照对象某个属性进行排序
需求:对timelist排序 安装keys . 分析:timelist 是个数组对象,里面包含属性 keys,val.这里借助数组sort方法 传入function <script> // ...
- 为 Raft 引入 leader lease 机制解决集群脑裂时的 stale read 问题
问题:当 raft group 发生脑裂的情况下,老的 raft leader 可能在一段时间内并不知道新的 leader 已经被选举出来,这时候客户端在老的 leader 上可能会读取出陈旧的数据( ...
- Thingsboard Gateway开发环境
源码下载地址:https://github.com/thingsboard/thingsboard-gateway 国内大神源码地址:https://github.com/guodaxia103/th ...
- windows 共享文件夹,和共享打印机
达成的情形,目标主机上登陆用户设置密码,其他pc上需要目标主机的用户和密码才能访问其共享文件夹 步骤:1.目标主机,设置文件夹共享 在文件夹上右键-属性,点击共享选项卡,然后点击共享按钮,继续点 ...
- embeding 是什么
要搞清楚embeding先要弄明白他和one hot encoding的区别,以及他解决了什么one hot encoding不能解决的问题,带着这两个问题去思考,在看一个简单的计算例子 以下引用 Y ...
- NumPyArray
import arcpy import numpy # Create a simple array from scratch using random values myArray = numpy.r ...