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 mysqluseradd -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

    • 方法二: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}"

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/zhufeng123/p/11922177.html