linux

通过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 操作

//主键

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

//增加一个新列

alter table t2 add d timestamp;

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

//删除列

alter table t2 drop column c;

//重命名列

alter table t1 change a b integer;


//改变列的类型

alter table t1 change b b bigint not null;

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

//重命名表

alter table t1 rename t2;

加索引

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);

加主关键字的索引

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

加唯一限制条件的索引

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

删除某个索引

mysql>alter table tablename drop index emp_name;

修改表:

增加字段:

mysql> ALTER TABLE table_name ADD field_name field_type;

修改原字段名称及类型:

mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

删除字段:

mysql> ALTER TABLE table_name DROP field_name;

原文地址:https://www.cnblogs.com/shininguang/p/4911520.html