linux-数据库(mysql)
1.下载mysql-server
CentOS7带有MariaDB而不是MySQL,如果需要安装mysql需要先添加mysql社区repo
sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
如果是root用户就不用sudo了
yum insatll mysql-server

2.启动服务
centos7:systemctl start mysql.service
centos6:/etc/init.d/mysqld start

登录mysql默认是没有密码,用户名root
3.配置文件/etc/my.cnf
配置信息端口、数据文件存放目录等

4.数据库操作
数据库操作:
1.查看数据库:show databases;
2.切换数据库:use 数据库名;
3.删除数据库:drop database 数据库名;
数据表操作:
1.查看数据库中表信息:show tables;
2.查看表结构:desc 表名;
3.删除数据表:drop table 库.表名;
注意结尾必须有分号,不然会认为语句未结束会一直等待输入


1.创建数据库:create database 库名;
eg. create database myclass;
2.创建表:create table 表名 (列名1 类型1,列名2,类型2,约束);
eg.create table myclass.userlist (id int,name char(11),primary key(id));
alter:修改表结构 alter table 表名 add|drop|modify|change 字段 属性
3.给表[指定位置]增加新的列:alter 库.表名 add 列名 列类型 [after 列名];
eg.alter table myclass.userlist add age int after name;
4.删除表中列 alter table 表名 drop 列名;
eg. alter table myclass.userlist drop test;
注意:删库、表、字段全是drop,delete只负责删除表中的内容




5.sql语句
1.查询语句[按条件查询][只显示多少行]
select * from 表 where 条件 判断符号 "值" limit 数量;
2.写入数据,插入全字段可以不写列名
insert into 表名(库.表)[(列名1,列名2...)] values ("值1","值2"...)
3.删除数据,一般根据主键删除
delete from 表名 where 条件;
4.修改数据,如果不加条件会修改所有值
update 表名 set "字段"="新值" where 条件;
注意值需要加引号,不然会认为是字段,数字可以不加
6.数据库备份与还原
数据库里每张表都包含3个文件,3个文件组装在一起才是这张表记录数据、时间、属性
数据库备份:
1.备份数据库中某个表:mysqldump [OPTIONS] database [tables]
2.备份多个数据库:mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
3.备份全部数据库:mysqldump [OPTIONS] --all-databases [OPTIONS]
eg.mysqldump [-u root -p密码] myclass userlist >/tmp/myclass_userlist.sql;
把myclass数据库中userlist表备份到/tmp/myclass_userlist.sql文件,文件命名自己能明白就好结尾最好用sql表示是sql语句,如果数据库有密码的话加上-u-p选项


数据库还原:
1.mysql [-u root -p 密码] 数据库 <备份数据表文件;
2.use 数据库;source 备份数据表文件
eg.mysql -u root myclass </tmp/myclass_userlist.sql

7.远程连接数据库
授权:grant
授权查看权限:
grant select on 库名.* to "用户名"@"允许登录的主机ip" identifiled by "密码";授权用户从哪台主机ip使用哪个密码登录数据库中的哪个表有查看权限
授权所有权限:
grant all on 库名.* to "用户名"@"允许远程登录的ip" identifiled by "密码";
eg. grant select on myclass.userlist to "tom"@"192.168.1.100" identified by "123456";授权用户tom可以使用密码123456在192.168.1.100主机上远程登录myclass.userlist,具有查看权限
客户机验证:
mysql -u 用户名 -p 密码 -h mysql服务器ip
查看用户权限:
show GRANTS FOR 用户名@允许远端登录的ip
撤销用户权限:
revoke select on 库名.* from 用户名@允许登录的ip;
revoke all on 库名.* from 用户名@允许登录的ip;
删除用户:
drop user 用户名@允许登录的ip;

本文来自博客园,作者:qxll,转载请注明原文链接:https://www.cnblogs.com/qxll/p/15534550.html

浙公网安备 33010602011771号