先登录本机mysql
① # mysql -uroot -plam2linux
查看含有哪些库
② > show databases;
切换库
③ > use discuz 或 use mysql
查看当前在哪个库下
④ > select database();
查看当前用户
⑤ > seletc user();
查看当前库的版本信息
⑥ > select version();
体系:库-->表-->行-->字段
举例一:
> use discuz #切换到discuz下
> show tables; #查看discuz中有哪些表
> desc+(库下表里面的任意一个文件) #描述表的内容(字段)
> show create table 表文件\G; #查看表创建的过程
举例二:
> create database aming; #创建aming库
> use aming #切换为aming库
> create table tb1 (`id` int(4), `name` char(40)) ENGINE=MyISAM DEFAULT CHARSET=gbk;
##创建一个`id`长度为4位整形参数,`name`长度为40位的字符串,字符集是gbk的表tb1。
> desc tb1; #描述表的内容(字段)
> show tables; #查看当前aming库下的表
> show create table tb1\G; #查看创建表的过程和语句
> insert into tb1 values (2,'linux'); #将id为1,name为linux的内容写入tb1中
> select * from tb1; #查看tb1来自于哪个库的名字和ID
> insert into tb1 (`id`) values (2); #将id为2的内容写入tb1中,同时name的内容为null
> insert into tb1 (`name`) values ('55'); #同上
> insert into tb1 (`name`,`id`) values ('55',6); #同时添加name和id的内容
> select * from tb1; #查看表内原有和写入的数据
> update tb1 set id=5 where name='55'; #把`name`为'55'的数据的`id`改为'5'
> delete from tb1 where name='55'; #删除含'55'的行
> truncate table aming.tb1; #清空aming库下的tb1表
> drop table tb1; #删除表tb1
> drop database aming; #删除aming库
创建新用户权限
> grant all on discuz.* to 'user1'@'192.168.137.%' identified by '(密码)*******';
# 指定192.168.137.***下所有IP都有权限使用discuz库下的权限
> grant all on discuz.* to 'user1'@'%' identified by '(密码)*******';
# 指定任何IP都有权限使用discuz库下的权限,这种不用,很不安全
> flush privileges; #刷新权限
> show processlist; #查看这个数据库里都有哪些队列、进程、任务,
#知道数据库到底在干什么?
> show variables; #查看它的变量
> set global 变量名 = 数值; #更改变量的数值信息
> show status; #查看状态,调优用的比较多
> show status like '%running'; #由于要查看的信息很多很乱,在mysql内用like过滤进程信息,
#此例是过滤出以'running'结尾的进程状态
关于mysql的错误日志
# vim /etc/init.d/mysqld #编辑启动脚本,错误日志路径在这个脚本文件里
#即:datadir=/data/mysql中
# cd /data/mysql #内有一个*.err后缀的文件
# tail *.err #查看错误日志的内容
假如mysql启动不了,就要从这里看这些有价值的信息
修复mysql中的一个表
# mysql -uroot -plam2linux #登录本机mysql
>repair table discuz.*(表名); #修复discuz库下的一个表