查看所有数据库
mysql> show databases;
创建一个库ghd并指定字符集为utp8
mysql> create database ghd charset utf8;
查看mysql支持的字符集
mysql> show char set;
创建一个表,并设置id为主键
create table `ghdtable` ( `id` varchar(10) primary key, `name` varchar(10) not null, `age` varchar(3), `sex` varchar(2) );
增 :insert into tablename values(id,name,age,sex)
例如:
mysql> insert into ghdtable values ( 2,'liyingwen',23,'男');
mysql> insert into ghdtable values ( 1,'v_hdongguo',27,'男');
查看表内容
mysql> select * from ghdtable;
多条件查询:select * from tablename where 1=a and 2=b;
例如:mysql> select * from ghdtable where name='liyingwen' and age=23;
删除:
drop:删除表数据和表结构
delete:清空表数据
truncate:当表数据量比较大的时候推荐使用
delete from tablename #后面如果不添加where 条件会删除所有数据
例如:删除ghdtable表中id=1的行
改:update 表名 set
例如:将id这一列中的sex字段修复改为女
mysql> update ghdtable set sex='女' where id=1;
mysql> update ghdtable set name='guoyanmei' where id=2;
查:select 字段 from 表名 where 条件判断
例如:查找ghdtable表中名字为liyingwen的行
mysql> select * from ghdtable where name='liyingwen';
mysql重启遇到问题启动失败
问题分析:
1、可能是/opt/mysql/data/数据目录mysql用户没有权限(修改数据目录的权限)
解决方法 :给予权限,执行 "chown -R mysql.mysql /opt/mysql/data" 然后重新启动mysqld
2、可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的二进制日志目录看看,如果存在mysql-binlog.index,就赶快把它删除掉吧
4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /opt/mysql/data
5、skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
问题排查,查看报错日志
额~~ 自己修改过/etc/my.cnf,这配置文件中开启慢查询日志导致的,自己配置有问题,修改为slow_query_log = on后重启恢复正常
设置慢查询时间为2s:这my.cnf添加long_query_time=2
临时关闭慢查询日志
set global slow_query_log='OFF';
通过set global long_query_time =1;来临时设置慢查询时间为1s,测试后不生效,这配置文件中设置重启数据库正常(原因待确认)