Mysql基本操作
一、 更改密码
1.新装的mysql是没有密码的,如图:
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.45Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear thebuffer.
mysql>
2.修改登录密码
#usr/bin/mysqladmin -u root password 'new-password'
如在已有密码的情况下修改
#usr/bin/mysqladmin -u root –ppassword 'new-password'
Enter password: 这里输入旧密码,回车即可
3.如果遇到如下错误
# mysqladmin -uroot -p password ’newpassword’
Enter password:
mysqladmin: connect to server at ’localhost’ failed
error: ’Access denied for user ’root’@’localhost’(using password: YES)’
解决如下:
# /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>
mysql>
二、 mysql命令使用技巧
1.将SQL语句写入到一个文本文件中(我们称之为SQL脚本文件),然后使用输入/输出重定向让mysql从该文件读取输入。
这样像你在使用mysql依次执行文本文件中的那些SQL命令一样:
# mysql -p db_name < mysql.txt
比如:#cat mysql.txt 内容为
use mydb;
create table kk(id int);
意思是在库mydb中建立以表为kk
如是交互模式下,这样操作:
mysql> source mysql.txt;
2.mysqladmin的语法为
① 创建数据库 #mysqladmin –p create db_name
② 删除数据库 #mysqladmin –p drop db_name
③ 查看服务器状态 #mysqladmin –p extended-status
④ 重载授权表(类似reload)#mysqladmin –p flush-privileges
⑤ 关闭服务器 #mysqladmin –p shutdown
三、 SQL语言基础
1. 数据库格式,下面是一个书店的分类表
在该表格中,编号、书名、作者、进货日期、价格、数量就是不同的列,而每一行保存的则是具体的数据
2. 操作mysql <一条sql语句结束一定要用分号“;”>
#mysql –h <hostname> -u <username> -p
-h 指定连接的服务器,接主机名或IP <登录本机不需要此参数>
-u 指定登录用户名 <不加此参数,默认用root用户>
-p 指定密码
mysql> show databases; 列出所有库
mysql> drop database db_name; 删除一个库
mysql>create database db_name; 建立一个库
mysql>use db_name; 使用某个库
mysql>create table table_name( 建表
->id int not null primary key,编号(主键,不可重复),不为空
->bookname text, 指定书名类型(文本)
->write text, 指定作者类型(文本)
->bookdate date not null, 指定出版日类型(日期),不为空
->price float, 指定价格类型(字符型)
->amount int, 指定页数类型(整型)
->); 结束语句,以;结尾
mysql>show tables; 列出表
mysql>desc table_name; 查看表结构
mysql>drop table table_name; 删除表
3. 向数据库中添加数据
mysql>insert into table_name set
->id=1,
->bookname=”linux”,
->write=”tony”,
->bookdate=”2010-05-01”,
->price=75,
->amount=50;
4. 查询数据库中的数据
①mysql>select * from table_name; 查询table中所有信息
②mysql>select bookname,price from table_name; 查询特定信息
③mysql>select count(*) from table_name;查询有多少条记录信息
④mysql>select bookdate from table_name
->where bookdate>=2006-01-01;
查询出版日期大于或等于2006.1.1的记录
⑤mysql>select bookname from table_name
->where bookname like “%linux%”;
查询书名中包含linux的记录
⑥mysql>select bookname,bookdate from table_name
->where
->bookname like “%linux%” and
->bookdate >=”2006-01-01”;
这是组合使用查询
5. 修改表中存储的数据
①mysql>update table_name set bookdate=”2007-01-01” where id=1;把编号为1的书出版日期改为2007-01-01
②mysql>update table_name set bookdate=”2007-01-01” where bookname like “%linux%”;改变书名中包含linux的出版日期
6. 删除表中存储的数据
Mysql>delete from table_name where bookname like “%linux%”;删除书名中包含linux的记录
四、 mysql用户与权限
1. 添加一个mysql用户
两种方式:①使用grant语句 ; ②使用mysql授权表
mysql>grant all privileges on *.* to tony@192.168.0.254’
->identified by ’123456’ with grant option;
详解:all privileges 所有权限;
*.* 所有库的所有表;
tony@192.168.0.254 赋予用户tony只能在192.168.0.254这个IP可以登录访问;
identified by ‘123456’ 设定tony的密码
with grant option 允许tony把权限赋予其他用户
2. 删除一个用户
首先必须拥有mysql数据库德全局create user或delete权限
mysql>drop user tony@192.168.0.254;