Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2899406
  • 博文数量: 348
  • 博客积分: 2907
  • 博客等级: 中校
  • 技术积分: 2272
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-12 09:16
个人简介

专注 K8S研究

文章分类

全部博文(348)

文章存档

2019年(22)

2018年(57)

2016年(2)

2015年(27)

2014年(33)

2013年(190)

2011年(3)

2010年(14)

分类: Mysql/postgreSQL

2013-07-24 01:37:56

 

MySQL的介绍就不多说了,目前各大门户网站首选的数据库,免费、简单、可依赖。此文主要说明一些熟悉MySQL的操作,要想深入学习,还要参考多方资料。才疏学浅,请多指正。

实验准备

yum install mysql mysql-devele mysql-server

确认mysql启动

/etc/init.d/mysqld status

mysqld (pid 11741) 正在运行...

登录mysql

创建测试用户,可以从任意注意登录,赋予在所有表上的所有权限

grant all privileges on *.* to 'user01'@'%' identified by '123456';

查看

select * from mysql.user where user='user01' \G

刷新权限

FLUSH PRIVILEGES;

删除用户

drop user user01@'%';

退出、新用户登录

mysql -uuser01 -p -h 192.168.0.114

Enter password:

创建一个数据库test1

create database test1;

选择数据库test1

use test1;

查看表

show tables

创建一个表

名称为tmp01,字段为,idusernametimes,字段类型为int2)、varchar10)、date

create table tmp01(id int(2),username varchar(10),times date);

查看表结构

mysql> desc tmp01;

+----------+-------------+------+-----+---------+-------+

| Field    | Type        | Null | Key | Default | Extra |

+----------+-------------+------+-----+---------+-------+

| id       | int(2)      | YES  |     | NULL    |       |

| username | varchar(10) | YES  |     | NULL    |       |

| times    | date        | YES  |     | NULL    |       |

+----------+-------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

插入记录

insert into tmp01 (id,username,times) values('1','ning','2012-12-12');

也可以不用指定字段名称,但是values后面的顺序应该和字段的排列顺序一致:

insert into tmp01 values('2','lianjie','2012-12-12');

查看插入的记录

mysql> select * from tmp01;

+------+----------+------------+

| id   | username | times      |

+------+----------+------------+

|    1 | ning     | 2012-12-12 |

|    2 | lianjie  | 2012-12-12 |

+------+----------+------------+

2 rows in set (0.00 sec)

 

更新记录

update tmp01 set username='abcd' where id='1';

注意:插入、更新字符串要加单引号

生成大量测试数据

insert into tmp01 select * from tmp01;

表的删除

注意:不管是单表还是多表,不加where条件将会把表的所有记录删除,所以操作时一定要小心。

delete from tmp01 where username='abcd';

 

简单的mysql登录问题 

# mysql

ERROR 1045 (00000): Access denied for user: 'root@localhost' (Using password: NO)

注释: 1130报错信息说明不允许远程访问。没有给该用户授权

解决方法:

# /etc/init.d/mysql stop

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

mysql> FLUSH PRIVILEGES;

mysql> quit

# /etc/init.d/mysql restart

# mysql -uroot -p

Enter password: <输入新设的密码newpassword>

小技巧

在用户目录(比如/root)下,创建.my.cnf隐藏文件,指定用户名和密码,可以在本机方便登录mysql

# vim .my.cnf

 

[client]

user = user01

password = 123456

 

 

 

阅读(1020) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~