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}"
最新文章
- MyBatis学习--延迟加载
- 如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法
- ListView的深入学习
- Windows系统安装Oracle 11g数据库
- Careercup - Microsoft面试题 - 5175246478901248
- 左侧菜单 z
- NET MVC过滤器
- 动态得到WCF的代理类并生成代码
- ida调试 android so
- 小程序解析html标签wxPrase插件
- Java 零散笔记
- Red Hat Enterprise Linux 5 64-bit chinese language support config steps
- 【原】以setTimeout来聊聊Event Loop
- bzoj2946
- Android开发之jdk安装及环境变量配置
- 两个有用Oracle运算:intersect和minus运算
- Nginx中Laravel的配置
- hdu 4845 状压bfs(分层思想)
- webUploader实现大文件分片,断点续传
- HDU3710-Battle Over Cities
热门文章
- __enter__,__exit__区别
- Spring的Core模块
- 【洛谷】P4139 上帝与集合的正确用法
- Ubuntu16.04之Apache2.4配置SSL证书
- 10个超漂亮的CSS 3D特效
- oracle清理归档日志(缓存)
- Why would I want to use an ExpressionVisitor?
- TLS整理(下):TLS如何保证安全
- Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks
- Intellij IDEA的Facets和Artifacts