Linux下MySQL操作
一、登录MySQL
1. 启动:
MYSQL启动文件在/etc/init.d目录下,启动运行以下命令
/etc/init.d/mysql start
2. 停止:
/usr/bin/mysqladmin -u root -p shutdown
3. 登录:
mysql [-u username] [-h host] [-p password] [dbname]
这里先介绍下MySQL的结构: 数据库->表. 最后一个dbname指的就是表名,可以指定你要使用数据库中的哪个表,否则登录数据库之后还是要指定表. 下面我指定的是 scraping 数据库
也可以不指定数据库登录,登录之后再指定数据库名就可以:USE + 数据库名
二、MySQL的几个重要目录
数据库文件,配置文件和命令文件分别在不同的目录
1. 数据库目录:/var/lib/mysql/
2. 配置文件:/usr/share/mysql (mysql.server命令及其配置文件)
3. 相关命令:/usr/bin/(mysql admin mysql dump等命令)
4. 启动脚本:/etc/rc.d/init.d (启动脚本文件 mysql的目录)
三、常用命令
1. 显示数据库
show databases; 【一定在后面加' ; ' MYSQL中每个命令都是以; 结尾】
其中的myql库非常重要,里面有MYSQL的系统信息,修改密码和新增用户,都是在相关表中进行操作。
2. 显示数据库中的表
首先使用库:use mysql
显示数据库中的表: show tables
3. 显示表的结构
describe 表名;
4. 显示记录
select * from 表名
5. 新建数据库
create database + 数据库名;
6. 建表
USE 库名;
create table 表名(字段设定列表);
7. 增加记录:
insert into
8. 修改记录
update
9. 删除记录
delete
10. 删除表/数据库
drop database + 库名;
drop table + 表名;
四、用户设置
grant select on 数据库.* to 用户名@登录主机 identified by “密码”
mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。
例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。
mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";
用新增的用户如果登录不了MySQL,在登录时用如下命令:
mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)