MySQL基本操作

MySQL struggling 1008次浏览 0个评论
<code>
1,查看数据库状态 及启动停止
[root@localhost ~]# service mysql start
mysql: unrecognized service
[root@localhost ~]# service mysqld start
Starting mysqld:                                           [  OK  ]
[root@localhost ~]# service mysqld status
mysqld (pid  5211) is running...
[root@localhost ~]# service mysqld stop
Stopping mysqld:                                           [  OK  ]
或者使用一下方法:
[root@localhost ~]# /etc/init.d/mysqld status
[root@localhost ~]# /etc/init.d/mysqld start
[root@localhost ~]# /etc/init.d/mysqld stop
 
2,给用户配置初始密码123456:
 [root@localhost ~]#mysqladmin -u root -password 123456
 
3,修改root用户密码为 456789
 [root@localhost ~]#mysqladmin -u root -p123456 password 456789
 
4,如果想去掉密码:
 [root@localhost ~]#mysqladmin -u root -p456789 password ""
 
5,root连接数据库有密码和无密码:
[root@localhost ~]# mysql -u root -p
 [root@localhost ~]#mysql
 
6,增加用户 test1 密码 abc,让它可以在任何主机上登录,并对所有数据库有查询,插入,修改,删除的权限:
 格式: grant select on 数据库.* to 用户名@登录主机 identified by "密码"
 grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
 
7,使用test1账号从其他主机上登录命令:
 
mysql -h 主机名 -u test1 -pabc
 eg: mysql -h 10.239.48.109 -u test1 -pabc
 
8,增加一个用户test2,让它只可以在localhost上登录,并可以对数据库mydb进行查询,插入,修改,删除的操作,
 这样用户即使使用知道test2的密码,他也无法从internet 上直接访问数据库,只能通过mysql主机上的web页面来访问。
 grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
 grant select,insert,update,delete on mydb.* to test2@localhost identified by ""; 设置无密码
 
9,显示数据库列表:
 mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

mysql> use mysql                   打开库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
 +---------------------------+
2 rows in set (0.00 sec)

10,表的操作
 describle 表名; 显示数据表的结构
 create database 库名;
 drop database 库名;
 create table 表名(字段设定列表)
 drop table 表名;
 delete from 表名;清空表记录
 select * from 表名; 显示表中的记录
 insert into 表名 values(, ,)
 
alter table 表名 add column <字段名><字段选项>
 

导出数据:
 mysqldump --opt test > mysql.test //将数据库test导出到mysql.test文件,后面是一个文本文件
 mysqldump -u root -p123456 --databases dbname > mysql.dbname //就是把数据库dbname导出到文件mysql.dbname中。
 
导入数据:
 mysqlimport -u root -p123456 < mysql.dbname
 将文本数据导入数据库:
 文本数据的字段之间用tab键隔开
 use test
 load data local infile "文件名" into table 表名;
 eg: load data local infile "D:/mysql.txt" into table mytable;
 导入.sql 文件命令
 use database
 source /root/mysql.sql;


mysql> create database testdb;
mysql> create  database if  not exists testdb;	
mysql> drop  database testdb;
mysql> create database mydb;
mysql> use  mydb;
mysql> create table students(name  char(20) not  null,age tinyint unsigned ,sex  char(1) not null);
mysql> show tables;
mysql> desc  students;  	查看定义表的信息

mysql> alter table  students add  couese char(100);  添加字段

改字段的名称用change,改类型用modify,                  修改字段名字; 
mysql> alter table  students change couese courses char(10) after name;	
	
mysql> insert into  students (name,sex) value('gao','m'),('fei','w');  在表中插入数据;

mysql> insert into  students  values('lei','mysql','20','m'); 不指定字段则为所有字段; 	
	
mysql> update students set courses='xie';  update修改数据,不使用where则修改所有数据

mysql> update students set courses='ha'  where name='lei';  使用where	

mysql> delete  from students where courses='ha';  删除某行	
	
mysql> create user 'feiyu'@'%' identified by 'feiyu';   创建用户feilei密码为feiyu	
	
mysql> show grants  for 'feiyu'@'%';   查看用户的权限

mysql> grant all privileges on mydb.* to 'feiyu'@'%';   授mydb的所有表的权给feiyu

</code>

DevOps-田飞雨 》》转载请注明源地址
喜欢 (3)or分享 (0)
发表我的评论
取消评论
*

表情 贴图 加粗 链接 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址