mysql常用操作

通过rpm安装

  查看是否已经安装:rpm -qa|grep Mysql

  安装:rpm -ivh MySQL-server-4.0.14-0.i386.rpm

基本配置

拷贝一个示例配置文件作为mysql的配置文件:

 cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

如要修改数据文件位置可先:

mv /var/lib/mysql /home/data/

然后修改/etc/my.cnf 中的socket和datadir参数

如果出现mysql.sock或是关于mysql.sock文件的报错,则修改my.cnf

[mysql]
    socket=mysql.sock文件目录
  [mysqld]
    socket=mysql.sock文件目录

前者是告诉客户端(mysql)到哪里去找mysql.sock;后者是告诉mysqld启动时,把mysql.sock放在哪个目录下

mysql启动停止:

  /etc/init.d/mysql start

  /etc/init.d/mysql stop

  或

  service mysql start

  service mysql stop

卸载mysql

rpm -qa|grep -i mysql

rpm -ev MySQL-server MySQL-client

卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

mysql 常用命令

1:使用SHOW语句找出在服务器上当前存在什么数据库:
  mysql> SHOW DATABASES;
2:创建一个数据库MYSQLDATABASE
  mysql> CREATE DATABASE MYSQLDATA DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

或 

 mysql: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
3:选择你所创建的数据库
  mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4:查看现在的数据库中存在什么表
  mysql> SHOW TABLES;
5:创建一个数据库表
  mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
  mysql> DESCRIBE MYTABLE;
7:往表中加入记录
  mysql> insert into MYTABLE values ("hyq","M");
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
  mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
  mysql> use database;
  mysql> source d:/mysql.sql;
10:删除表
  mysql> drop TABLE MYTABLE;
11:清空表
  mysql> delete from MYTABLE;
12:更新表中数据
  mysql> update MYTABLE set sex="f" where name=hyq;

13:直接删除数据库,不提醒

  mysql> drop database databasename;

此外,Linux下经常使用的命令:

1:导入数据库备份文件的方法:
  root: mysql –u数据库帐户 –p密码 数据库名 < .sql备份文件 --default-character-set=utf8

  mysqldump test --user=test --password=test > /usr/local/test.sql

  从文件导入的命令为:
load data local infile '/tmp/data.csv' into table test fields terminated by ',' (a,b,c,d);

2:MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下:
  mysql> grant all privileges on 数据库名.* to 用户名@localhost identified by '密码';

  mysql> grant all privileges on *.* to 用户名@'%' identified by '密码';

 删除授权

mysql> revoke all privileges on *.* from root@”%”;

mysql> delete from user where user=”root” and host=”%”;

mysql> flush privileges;


3:清空文件内容:
  cat /dev/null > 文件名
4:添加帐户:
  useradd 用户名 –d 目录名 –s /sbin/nologin(不允许该用户直接登录服务器)
5:设置帐户密码
  passwd 用户名

6:查看mysql版本

  mysql -V

  mysql --help|grep Distrib

  mysql>select version();

  mysql>status;

7 alert 操作

//主键549830479

alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);

//增加一个新列549830479

alter table t2 add d timestamp;

alter table infos add ex tinyint not null default '0';

//删除列549830479

alter table t2 drop column c;

//重命名列549830479

alter table t1 change a b integer;


//改变列的类型549830479

alter table t1 change b b bigint not null;

alter table infos change list list tinyint not null default '0';

//重命名表549830479

alter table t1 rename t2;

加索引549830479

mysql> alter table tablename change depno depno int(5) not null;

mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);

mysql> alter table tablename add index emp_name (name);

加主关键字的索引549830479

mysql> alter table tablename add primary key(id);

加唯一限制条件的索引549830479

mysql> alter table tablename add unique emp_name2(cardnumber);

删除某个索引549830479

mysql>alter table tablename drop index emp_name;

修改表:549830479

增加字段:549830479

mysql> ALTER TABLE table_name ADD field_name field_type;

修改原字段名称及类型:549830479

mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

删除字段:549830479

mysql> ALTER TABLE table_name DROP field_name;

 

posted @ 2012-09-24 17:54  cprime  阅读(126)  评论(0编辑  收藏  举报