Mysql免安装版的配置

Wesley13
• 阅读 502

使用mysql-5.5.20版本。

转载:http://supportopensource.iteye.com/blog/1415527

1、下载mysql-5.5.20-win32.zip,解压到D:\dev,D盘的dev文件夹下就会出现mysql-5.5.20-win32目录,将其重命名为mysql。

2、配置MYSQL的环境变量
新增系统变量MYSQL_HOME: D:\dev\mysql
在PATH变量的最后面添加: ;%MYSQL_HOME%\bin
保存即可。

3、打开文件my-default.ini另存为my.ini,删除my.ini中的所有配置,在my.ini文件中加入如下简单配置:(my.ini是保存在与my-default.ini同一个目录下的)(#表示注释)

Mysql代码   Mysql免安装版的配置

  1. The following options will be passed to all MySQL clients

  2. [client]

  3. #password   = your_password

  4. port        = 3306

  5. [mysql]

  6. #设置mysql客户端的字符集

  7. default-character-set = utf8

  8. The MySQL server

  9. [mysqld]

  10. port        = 3306

  11. #设置mysql的安装目录

  12. basedir = D:\dev\mysql

  13. #设置mysql数据库的数据存放目录,必须是data或者\xxx-data

  14. datadir = D:\dev\mysql\data

  15. #设置服务器段的字符集

  16. character_set_server = utf8

4、注册服务
开始菜单,搜索cmd,单击右键 “以管理员身份运行”,输入命令:

Mysql代码   Mysql免安装版的配置

  1. mysqld --install mysql5 --defaults-file=d:\dev\mysql\my.ini

(如果此时“出现Install/Remove of the Service Denied!”的错误,说明cmd不是以管理员身份运行)
或着,
开始菜单,搜索cmd,单击右键“以管理员身份运行”,输入命令:

Mysql代码   Mysql免安装版的配置

  1. mysqld --install mysql5

删除服务(开始菜单,搜索cmd,单击右键“以管理员身份运行”):

Mysql代码   Mysql免安装版的配置

  1. sc delete mysql5

在“服务”中就会出现mysql这一项。

5、启动服务(开始菜单,搜索cmd,单击右键 “以管理员身份运行”):

Mysql代码   Mysql免安装版的配置

  1. net start mysql5

停止服务:

Mysql代码   Mysql免安装版的配置

  1. net stop mysql5

6、服务启动后:
登录MySQL服务器:
命令格式:

Mysql代码   Mysql免安装版的配置

  1. mysql -h hostname -u username -p

Mysql代码   Mysql免安装版的配置

  1. mysql -hhostname -uusername -p

命令说明:mysql命令将调用MySQL监视程序,这是一个可以将我们连接到MySQL服务器端的客户端命令行工具。
选项说明:
-h选项:用于指定所希望连接的主机,即运行MySQL服务器的机器。如果在运行MySQL服务器的机器上运行该命令,则可以忽略该选项和hostname参数;如果不是,必须用运行MySQL服务器的主机名称来代替主机名称参数。
-u命令:用于指定连接数据库时使用的用户名称。
-p命令:用于指定用户输入的密码

此时我本机安装了MYSQL,可忽略该选项和hostname参数:

Mysql代码   Mysql免安装版的配置

  1. mysql -uroot -p

注:
    MySQL的管理员用户名为root,密码默认为空

修改root密码
MySQL配置好后,启动成功,默认密码是空,但是为了安全,设置密码(MySQL有一个默认用户名为root,密码自己设定:假如设为root)。
1)登录MySQL root用户:
   打开命令行,执行:

Mysql代码   Mysql免安装版的配置

  1. mysql -uroot -p

2)修改root密码:   

Mysql代码   Mysql免安装版的配置

  1. mysql> update mysql.user set password="root" where User="root";
  2. mysql> flush privileges;

修改该修改密码的语句:update mysql.user set password="root" where User="root";
为: update mysql.user set password=password("root") where User="root";

详细说明:见最底下的补充说明。

以后再进入MySQL,则为:

Mysql代码   Mysql免安装版的配置

  1. mysql -uroot -proot

7、常用命令:

Mysql代码   Mysql免安装版的配置

  1. create database new_dbname;--新建数据库

  2. show databases;--显示数据库

  3. use databasename;--使用数据库

  4. select database();--查看已选择的数据库

  5. show tables;--显示当前库的所有表

  6. create table tablename(fieldname1 fieldtype1,fieldname2 fieldtype2,..)[ENGINE=engine_name];--创建表

  7. create table tablename select statement;--通过子查询创建表

  8. desc tablename;--查看表结构

  9. show create table tablename;--查看建表语句

  10. alter table tablename add new_fielname new_fieldtype;--新增列

  11. alter table tablename add new_fielname new_fieldtype after 列名1;--在列名1后新增列

  12. alter table tablename modify fieldname new_fieldtype;--修改列

  13. alter table tablename drop fieldname;--删除列

  14. alter table tablename_old rename tablename_new;--表重命名

  15. insert into tablename(fieldname1,fieldname2,fieldnamen) valuse(value1,value2,valuen);--增

  16. delete from tablename [where fieldname=value];--删

  17. update tablename set fieldname1=new_value where filename2=value;--改

  18. select * from tablename [where filename=value];--查

  19. truncate table tablename;--清空表中所有数据,DDL语句

  20. show engines;--查看mysql现在已提供的存储引擎:

  21. show variables like '%storage_engine%';--查看mysql当前默认的存储引擎

  22. show create table tablename;--查看某张表用的存储引擎(结果的"ENGINE="部分)

  23. alter table tablename ENGINE=InnoDB--修改引擎

  24. create table tablename(fieldname1 fieldtype1,fieldname2 fieldtype2,..) ENGINE=engine_name;--创建表时设置存储引擎

8、例如:
(1)登录MySQL服务器后,查看当前时间,登录的用户以及数据库的版本

Mysql代码   Mysql免安装版的配置

  1. mysql> select now(),user(),version();
  2. +---------------------+----------------+-----------+
  3. | now()               | user()         | version() |
  4. +---------------------+----------------+-----------+
  5. | 2012-02-26 20:29:51 | root@localhost | 5.5.20 |
  6. +---------------------+----------------+-----------+
  7. 1 row in set (0.00 sec)

(2)显示数据库列表

Mysql代码   Mysql免安装版的配置

  1. mysql> show databases;
  2. +--------------------+
  3. | Database           |
  4. +--------------------+
  5. | information_schema |
  6. | mysql              |
  7. | performance_schema |
  8. | test               |
  9. +--------------------+
  10. 4 rows in set (0.03 sec)

(3)新增数据库并查看

Mysql代码   Mysql免安装版的配置

  1. mysql> create database test_db;

  2. Query OK, 1 row affected (0.00 sec)

  3. mysql> show databases;

  4. +--------------------+

  5. | Database           |

  6. +--------------------+

  7. | information_schema |

  8. | mysql              |

  9. | performance_schema |

  10. | test               |

  11. | test_db            |

  12. +--------------------+

  13. 5 rows in set (0.00 sec)

(4)选择数据库

Mysql代码   Mysql免安装版的配置

  1. mysql> use test_db;
  2. Database changed

查看已选择的数据库:

Mysql代码   Mysql免安装版的配置

  1. mysql> select database();
  2. +------------+
  3. | database() |
  4. +------------+
  5. | test_db    |
  6. +------------+
  7. 1 row in set (0.00 sec)

(5)显示当前数据库的所有数据表

Mysql代码   Mysql免安装版的配置

  1. mysql> show tables;
  2. Empty set (0.00 sec)

(6)新建数据表并查看

Mysql代码   Mysql免安装版的配置

  1. mysql> create table person(
  2. -> id int,
  3. -> name varchar(20),
  4. -> sex char(1),
  5. -> birth date
  6. -> );
  7. Query OK, 0 rows affected (0.09 sec)

Mysql代码   Mysql免安装版的配置

  1. mysql> show tables;
  2. +-------------------+
  3. | Tables_in_test_db |
  4. +-------------------+
  5. | person            |
  6. +-------------------+
  7. 1 row in set (0.00 sec)

(7)获取表结构

Mysql代码   Mysql免安装版的配置

  1. mysql> desc person;
  2. +-------+-------------+------+-----+---------+-------+
  3. | Field | Type        | Null | Key | Default | Extra |
  4. +-------+-------------+------+-----+---------+-------+
  5. | id    | int(11)     | YES  |     | NULL    |       |
  6. | name  | varchar(20) | YES  |     | NULL    |       |
  7. | sex   | char(1)     | YES  |     | NULL    |       |
  8. | birth | date        | YES  |     | NULL    |       |
  9. +-------+-------------+------+-----+---------+-------+
  10. 4 rows in set (0.01 sec)

或者

Mysql代码   Mysql免安装版的配置

  1. mysql> describe person;
  2. +-------+-------------+------+-----+---------+-------+
  3. | Field | Type        | Null | Key | Default | Extra |
  4. +-------+-------------+------+-----+---------+-------+
  5. | id    | int(11)     | YES  |     | NULL    |       |
  6. | name  | varchar(20) | YES  |     | NULL    |       |
  7. | sex   | char(1)     | YES  |     | NULL    |       |
  8. | birth | date        | YES  |     | NULL    |       |
  9. +-------+-------------+------+-----+---------+-------+
  10. 4 rows in set (0.01 sec)

(8)查询表中的数据

Mysql代码   Mysql免安装版的配置

  1. mysql> select * from person;
  2. Empty set (0.00 sec)

(9)插入数据

Mysql代码   Mysql免安装版的配置

  1. mysql> insert into person(id,name,sex,birth)
  2. -> values(1,'zhangsan','1','1990-01-08');
  3. Query OK, 1 row affected (0.04 sec)

查询表中的数据:

Mysql代码   Mysql免安装版的配置

  1. mysql> select * from person;
  2. +------+----------+------+------------+
  3. | id   | name     | sex  | birth      |
  4. +------+----------+------+------------+
  5. |    1 | zhangsan | 1 | 1990-01-08 |
  6. +------+----------+------+------------+
  7. 1 row in set (0.00 sec)

(10)修改字段的类型

Mysql代码   Mysql免安装版的配置

  1. mysql> alter table person modify sex char(8);
  2. Query OK, 1 row affected (0.17 sec)
  3. Records: 1 Duplicates: 0 Warnings: 0

查看字段描述:

Mysql代码   Mysql免安装版的配置

  1. mysql> desc person;
  2. +-------+-------------+------+-----+---------+-------+
  3. | Field | Type        | Null | Key | Default | Extra |
  4. +-------+-------------+------+-----+---------+-------+
  5. | id    | int(11)     | YES  |     | NULL    |       |
  6. | name  | varchar(20) | YES  |     | NULL    |       |
  7. | sex   | char(8)     | YES  |     | NULL    |       |
  8. | birth | date        | YES  |     | NULL    |       |
  9. +-------+-------------+------+-----+---------+-------+
  10. 4 rows in set (0.01 sec)

(11)新增一个字段

Mysql代码   Mysql免安装版的配置

  1. mysql> alter table person add(address varchar(50));
  2. Query OK, 1 row affected (0.27 sec)
  3. Records: 1 Duplicates: 0 Warnings: 0

查看字段描述:

Mysql代码   Mysql免安装版的配置

  1. mysql> desc person;
  2. +---------+-------------+------+-----+---------+-------+
  3. | Field   | Type        | Null | Key | Default | Extra |
  4. +---------+-------------+------+-----+---------+-------+
  5. | id      | int(11)     | YES  |     | NULL    |       |
  6. | name    | varchar(20) | YES  |     | NULL    |       |
  7. | sex     | char(8)     | YES  |     | NULL    |       |
  8. | birth   | date        | YES  |     | NULL    |       |
  9. | address | varchar(50) | YES  |     | NULL    |       |
  10. +---------+-------------+------+-----+---------+-------+
  11. 5 rows in set (0.01 sec)

(12)更新字段内容
查看修改前表的内容:

Mysql代码   Mysql免安装版的配置

  1. mysql> select * from person;
  2. +------+----------+------+------------+---------+
  3. | id   | name     | sex  | birth      | address |
  4. +------+----------+------+------------+---------+
  5. |    1 | zhangsan | 1 | 1990-01-08 | NULL    |
  6. +------+----------+------+------------+---------+
  7. 1 row in set (0.00 sec)

修改:

Mysql代码   Mysql免安装版的配置

  1. mysql> update person set name='lisi' where id=1;

  2. Query OK, 1 row affected (0.04 sec)

  3. Rows matched: 1 Changed: 1 Warnings: 0

  4. mysql> select * from person;

  5. +------+------+------+------------+---------+

  6. | id   | name | sex  | birth      | address |

  7. +------+------+------+------------+---------+

  8. |    1 | lisi | 1 | 1990-01-08 | NULL    |

  9. +------+------+------+------------+---------+

  10. 1 row in set (0.00 sec)

  11. mysql> update person set sex='man',address='China' where id=1;

  12. Query OK, 1 row affected (0.04 sec)

  13. Rows matched: 1 Changed: 1 Warnings: 0

  14. mysql> select * from person;

  15. +------+------+------+------------+---------+

  16. | id   | name | sex  | birth      | address |

  17. +------+------+------+------------+---------+

  18. |    1 | lisi | man  | 1990-01-08 | China   |

  19. +------+------+------+------------+---------+

  20. 1 row in set (0.00 sec)

为了方便下面测试删除数据,在向person表中插入2条数据:

Mysql代码   Mysql免安装版的配置

  1. mysql> insert into person(id,name,sex,birth,address)

  2. -> values(2,'wangwu','man','1990-01-10','China');

  3. Query OK, 1 row affected (0.02 sec)

  4. mysql> insert into person(id,name,sex,birth,address)

  5. -> values(3,'zhangsan','man','1990-01-10','China');

  6. Query OK, 1 row affected (0.04 sec)

  7. mysql> select * from person;

  8. +------+----------+------+------------+---------+

  9. | id   | name     | sex  | birth      | address |

  10. +------+----------+------+------------+---------+

  11. |    1 | lisi     | man  | 1990-01-08 | China   |

  12. |    2 | wangwu   | man  | 1990-01-10 | China   |

  13. |    3 | zhangsan | man  | 1990-01-10 | China   |

  14. +------+----------+------+------------+---------+

  15. 3 rows in set (0.00 sec)

(13)删除表中的数据
删除表中指定的数据:

Mysql代码   Mysql免安装版的配置

  1. mysql> delete from person where id=2;

  2. Query OK, 1 row affected (0.02 sec)

  3. mysql> select * from person;

  4. +------+----------+------+------------+---------+

  5. | id   | name     | sex  | birth      | address |

  6. +------+----------+------+------------+---------+

  7. |    1 | lisi     | man  | 1990-01-08 | China   |

  8. |    3 | zhangsan | man  | 1990-01-10 | China   |

  9. +------+----------+------+------------+---------+

  10. 2 rows in set (0.00 sec)

删除表中全部的数据:

Mysql代码   Mysql免安装版的配置

  1. mysql> delete from person;

  2. Query OK, 2 rows affected (0.04 sec)

  3. mysql> select * from person;

  4. Empty set (0.00 sec)

(14)重命名表
查看重命名前的表名:

Mysql代码   Mysql免安装版的配置

  1. mysql> show tables;
  2. +-------------------+
  3. | Tables_in_test_db |
  4. +-------------------+
  5. | person            |
  6. +-------------------+
  7. 1 row in set (0.00 sec)

重命名:

Mysql代码   Mysql免安装版的配置

  1. mysql> alter table person rename person_test;

  2. Query OK, 0 rows affected (0.04 sec)

  3. mysql> show tables;

  4. +-------------------+

  5. | Tables_in_test_db |

  6. +-------------------+

  7. | person_test       |

  8. +-------------------+

  9. 1 row in set (0.00 sec)

(15)新增主键

Mysql代码   Mysql免安装版的配置

  1. mysql> alter table person_test add primary key(id);

  2. Query OK, 0 rows affected (0.11 sec)

  3. Records: 0 Duplicates: 0 Warnings: 0

  4. mysql> desc person_test;

  5. +---------+-------------+------+-----+---------+-------+

  6. | Field   | Type        | Null | Key | Default | Extra |

  7. +---------+-------------+------+-----+---------+-------+

  8. | id      | int(11)     | NO   | PRI | 0 |       |

  9. | name    | varchar(20) | YES  |     | NULL    |       |

  10. | sex     | char(8)     | YES  |     | NULL    |       |

  11. | birth   | date        | YES  |     | NULL    |       |

  12. | address | varchar(50) | YES  |     | NULL    |       |

  13. +---------+-------------+------+-----+---------+-------+

  14. 5 rows in set (0.00 sec)

删除主键:

Mysql代码   Mysql免安装版的配置

  1. mysql> alter table person_test drop primary key;

  2. Query OK, 0 rows affected (0.18 sec)

  3. Records: 0 Duplicates: 0 Warnings: 0

  4. mysql> desc person_test;

  5. +---------+-------------+------+-----+---------+-------+

  6. | Field   | Type        | Null | Key | Default | Extra |

  7. +---------+-------------+------+-----+---------+-------+

  8. | id      | int(11)     | NO   |     | 0 |       |

  9. | name    | varchar(20) | YES  |     | NULL    |       |

  10. | sex     | char(8)     | YES  |     | NULL    |       |

  11. | birth   | date        | YES  |     | NULL    |       |

  12. | address | varchar(50) | YES  |     | NULL    |       |

  13. +---------+-------------+------+-----+---------+-------+

  14. 5 rows in set (0.01 sec)

(16)删除表

Mysql代码   Mysql免安装版的配置

  1. mysql> drop table person_test;

  2. Query OK, 0 rows affected (0.04 sec)

  3. mysql> show tables;

  4. Empty set (0.00 sec)

(17)删除数据库

Mysql代码   Mysql免安装版的配置

  1. mysql> show databases;

  2. +--------------------+

  3. | Database           |

  4. +--------------------+

  5. | information_schema |

  6. | mysql              |

  7. | performance_schema |

  8. | test               |

  9. | test_db            |

  10. +--------------------+

  11. 5 rows in set (0.00 sec)

  12. mysql> drop database test_db;

  13. Query OK, 0 rows affected (0.11 sec)

  14. mysql> show databases;

  15. +--------------------+

  16. | Database           |

  17. +--------------------+

  18. | information_schema |

  19. | mysql              |

  20. | performance_schema |

  21. | test               |

  22. +--------------------+

  23. 4 rows in set (0.00 sec)

(18)查看建表语句

Mysql代码   Mysql免安装版的配置

  1. mysql> show create table table_name;

补充说明:
update mysql.user set password="root" where User="root";修改的不是密码,如果按照这个方式修改了,重新登录时将会报错:

Mysql代码   Mysql免安装版的配置

  1. mysql> update mysql.user set password="root" where User="root";

  2. Query OK, 3 rows affected (0.00 sec)

  3. Rows matched: 3 Changed: 3 Warnings: 0

  4. mysql> exit

  5. Bye

  6. C:\Users\liqiong>mysql -uroot -p

  7. Enter password: ****

  8. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Y

  9. ES)

请按照以下方式重新修改密码,即可登录成功:

Mysql代码   Mysql免安装版的配置

  1. C:\Users\liqiong>mysql -uroot

  2. Welcome to the MySQL monitor.  Commands end with ; or \g.

  3. Your MySQL connection id is 4

  4. Server version: 5.5.20 MySQL Community Server (GPL)

  5. Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

  6. Oracle is a registered trademark of Oracle Corporation and/or its

  7. affiliates. Other names may be trademarks of their respective

  8. owners.

  9. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

  10. mysql> update mysql.user set password=password("root") where User="root";

  11. Query OK, 3 rows affected (0.00 sec)

  12. Rows matched: 3 Changed: 3 Warnings: 0

  13. mysql> flush privileges;

  14. Query OK, 0 rows affected (0.00 sec)

  15. mysql> exit

  16. Bye

  17. C:\Users\liqiong>mysql -uroot -p

  18. Enter password: ****

  19. Welcome to the MySQL monitor.  Commands end with ; or \g.

  20. Your MySQL connection id is 5

  21. Server version: 5.5.20 MySQL Community Server (GPL)

  22. Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

  23. Oracle is a registered trademark of Oracle Corporation and/or its

  24. affiliates. Other names may be trademarks of their respective

  25. owners.

  26. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

  27. mysql>

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这