1.更新服务器
对于将MySQL安装为服务的,先使用net stop MySQL,如果没有将MySQL安装为服务,可以使用c:/mysql/bin/mysqladmin –u root shutdown来停止服务,而后安装新的服务器软件。
2.连接服务器
shell> mysql -hhost_name-uuser_name-pyour_pass
Enter password: ********
-h选项表示连接的主机
-u选项表示连接的用户
-p选项表示输入密码,注意如果在这里输入密码,应该无空格,直接跟在参数之后,否则,表示的是连入后欲打开的数据库
在安装完系统之后,你第一次连接只能在本机使用,这时可以省略-h host,同时这时没有其他的用户建立,所以用户名是缺省的root用户。
3.数据库的操作
(1)创建数据库
mysql> CREATE DATABASE liuyan;
如示例,我们创建数据库liuyan,同时可见,我们使用分号结束命令,表示命令输入完毕可以执行。
(2)显示数据库
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| liuyan |
| mysql |
| test|
+----------+
这时我们可以看见我们创建的数据库已经存在在列表中。
(3)打开数据库
mysql> USE liuyan
Database changed
使用USE命令打开数据库,注意的是,这里我们没有输入分号结尾,其实输入分号结果也是一样的。
4.表的操作
(1)创建数据表
mysql>CREATE TABLE liuyan_temp (
->id int(6) NOT NULL auto_increment,
->url varchar(100) default '#',
->ip varchar(20) default NULL,
->email varchar(50) default '#',
->qq varchar(20) default NULL,
->sj varchar(30) default NULL,
->content text,
->xm varchar(20) default '没有姓名',
->KEY id (id)
->) TYPE=MyISAM;
Query OK, 0 rows affected (0.20 sec)
(2)显示数据表
mysql> show tables;
+------------------+
| Tables_in_liuyan |
+------------------+
| liuyan_temp|
+------------------+
1 row in set (0.00 sec)
使用show tables命令显示打开数据库中的表清单。
(3)显示数据表的结构
mysql> describe liuyan_temp;
+---------+--------------+------+-----+----------+----------------+
| Field| Type| Null | Key | Default| Extra|
+---------+--------------+------+-----+----------+----------------+
| id| int(6)|| MUL | NULL| auto_increment |
| url| varchar(100) | YES|| #||
| ip| varchar(20)| YES|| NULL||
| email| varchar(50)| YES|| #||
| qq| varchar(20)| YES|| NULL||
| sj| varchar(30)| YES|| NULL||
| content | text| YES|| NULL||
| xm| varchar(20)| YES|| 没有姓名 ||
+---------+--------------+------+-----+----------+----------------+
8 rows in set (0.04 sec)
使用describe命令显示指定表的结构。
(4)输入数据
mysql> LOAD DATA LOCAL INFILE 'liuyan.txt' INTO TABLE liuyan_temp
-> LINES TERMINATED BY '/r/n';
示例直接从文件liuyan.txt中导入数据表中的内容,另外,我们也可以通过insert into语句来插入数据
mysql>insert into liuyan_temp(url,ip,email,qq,sj,content,xm) values
->('http://jinjohn.myrice.com',
->'127.0.0.1',
->'jinjohn@etang.com',
->'19151579',
->'2004-10-05',
->'',
->'jinjohn');
5.用户的操作
(1)查询现有的用户
mysql>use mysql;
mysql>SELECT * FROM user;
下例要求显示所有的用户及其可登录的计算机
mysql>select user,host from user;
+-------+-----------+
| user| host|
+-------+-----------+
| admin | %|
|| build|
| root| build|
|| localhost |
| root| localhost |
+-------+-----------+
5 rows in set (0.01 sec)
(2)修改用户密码
mysql>SET PASSWORD FOR 'abe'@'host_name' = 'eagle';
mysql>SET PASSWORD FOR 'abe'@'host_name' = PASSWORD('eagle');
mysql>SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('mypass');
(3)增加用户
有二种方式,一种为使用insert into命令来添加用户,另一种为使用grant命令来添加用户,前提是登录的用户必须具有对MYSQL库的读写权限,缺省情况下root@localhost具有所有权限
方法一:使用inset命令向user表中添加记录
shell>mysql --user=root mysql
以root用户身份登录mysql数据库
mysql>INSERT INTO user
->VALUES('localhost','monty',PASSWORD('some_pass'),
->'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
向user表添加用户monty在本机的登录帐号及权限。
mysql>INSERT INTO user
->VALUES('%','monty',PASSWORD('some_pass'),
->'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
向user表添加用户monty在所有机器上都可以登录的帐号及权限。
mysql>INSERT INTO user SET Host='localhost',User='admin',
->Reload_priv='Y', Process_priv='Y';
向user表添加用户admin在本机登录的帐号。
mysql>INSERT INTO user (Host,User,Password)
->VALUES('localhost','dummy','');
向user表添加用户dummy在本机登录帐号的用户名和密码。
mysql>FLUSH PRIVILEGES;
提交更改,使其应用于系统中。
方法二,使用GRANT命令
mysql>GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
->IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
->IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql>GRANT RELOAD,
PROCESS
ON*.* TO 'admin'@'localhost';
mysql>GRANT
USAGE
ON*.* TO 'dummy'@'localhost';
下例授予用户david在一组计算机中登录的所有访问权限。
mysql>GRANT ALL PRIVILEGES ON db.*
->TO david@'192.58.197.0/255.255.255.0';
数据库的访问权限主要分SELECT、INSERT、UPDATE和DELETE。
(4)显示用户所拥有的权限
mysql>SHOW GRANTS FOR 'bob'@'pc84.example.com';
6.退出
mysql>quit