Window安装Mysql的zip方式
- 下载zip格式的安装包(如:mysql-5.7.22-winx64.zip),解压之后放到合适的位置(如:D:\MySQL)。
- 配置环境变量,在Path追加bin文件夹路径(如:D:\MySQL\mysql-5.7.22-winx64\bin)。
修改配置文件,在mysql下(如:D:\MySQL\mysql-5.7.22-winx64)新建my.ini文件,添加如下配置,具体路径根据注释修改。
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\MySQL\mysql-5.7.22-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\MySQL\mysql-5.7.22-winx64\data # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
配置完datadir属性后不能自己创建这个存储数据的文件夹路径data!
- 以管理员身份运行DOS窗口,进入到mysql的bin文件夹,输入 “mysqld -install” 命令安装服务,输入 “mysqld –initialize” (注意有两个‘-’)命令初始化,输入 “net start mysql” 命令启动服务。第一次初始化等待的时间大概一两分钟,并且控制台没有任何返回结果,可是在mysql的根目录下会多出一个data文件夹,里面有一堆文件。
- 重置密码:在my.ini最后添加 “skip-grant-tables”,然后重启mysql服务,输入 “mysql -u root -p” 后直接回车进入数据库,执行 “
use mysql
” 使用mysql数据库,使用update user set authentication_string=password("123456") where user='root';
更改root用户密码(密码字段名5.7版本的为authentication_string,之前的为password),退出后记得注释掉 “skip-grant-tables”并重启mysql服务。最后,用你设置的密码试一试登陆mysql。 - 登录后执行命令时如果报错
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
。需要用SET PASSWORD = PASSWORD('123456');
重新设置一次密码
mysql服务命令
停止服务:net stop mysql
启动服务:net start mysql
删除服务:mysqld -remove MySQL
可能报错
问:ERROR 1820 (HY0000): You mus reset your password using ALTER USER statement before executing this mysql
答:
set password=password('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
一些常用SQL语句
- 查看有哪些数据库:show databases;
- 查看有哪些数据表:show tables;
- 查看数据库或数据表的创建语句:show create database(table) 库名(表名);
- 查看表结构:desc 表名;
- 创建数据库:create database 库名
- 删除表中记录:delete from 表名 [where …];
- 删除表:drop table 表名;
- 创建索引(搜索键):create index
- 删除索引:drop index
- 导入.sql文件到数据库:use 库名;source 完整路径下的文件名;
- 读取数据表的所有记录:select * from 表名;
- 读取数据表的某些列:select column_name from 表名;
- 返回唯一不同的值:select distinct column_name from table_name;
- 修改数据库或数据表:alter database(table) 库名(表名);
- 插入数据:insert into 表名(c1, c2) values (v1, v2)