数据库msyql基础
数据库管理软件分类
- 关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
- 非关系型:mongodb,redis,memcache
可以简单的理解为:
- 关系型数据库需要有表结构
- 非关系型数据库是key-value存储的,没有表结构
下载安装
1、下载:MySQL Community Server 5.7.16
http://dev.mysql.com/downloads/mysql/
2、解压
如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.7.16-winx64
3、添加环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
4、初始化
mysqld --initialize-insecure
5、启动MySQL服务
mysqld # 启动MySQL服务,此时会一直在这里阻塞
6、启动MySQL客户端并连接MySQL服务
mysql -u root -p # 连接MySQL服务器, 此时密码为空
登录,设置密码
初始状态下,管理员root,密码为空,默认只允许从本机登录localhost
设置密码
$ mysqladmin -uroot password "123"
: 设置初始密码 由于原密码为空,因此-p可以不用
$ mysqladmin -uroot -p"123" password "456"
: 修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码
忘记密码
方法一,在命令行跳过用户认证功能
1 关闭mysql
2 在cmd中执行:mysqld --skip-grant-tables
3 在cmd中执行:mysql
4 执行如下sql:
update mysql.user set authentication_string=password(‘‘) where user = ‘root‘;
flush privileges;5 tskill mysqld #或taskkill -f /PID 7832
6 重新启动mysql- 方法二,在bin目录下创建
my.ini
文件,在文件内指定登录msyql时跳过用户认证功能- 关闭mysql,可以用tskill mysqld将其杀死
- 在解压目录下,新建mysql配置文件my.ini
my.ini内容,指定
[mysqld] skip-grant-tables
4.启动mysqld
5.在cmd里直接输入mysql登录,然后操作``` >>> update mysql.user set authentication_string=password(‘‘) where user=‘root and host=‘localhost‘; >>> flush privileges; ```
6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了
在windows下,为mysql服务指定配置文件
在mysql的解压目录下,新建my.ini,然后配置.
在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效
[mysqld] ;skip-grant-tables port=3306 character_set_server=utf8 default-storage-engine=innodb innodb_file_per_table=1 # 解压的目录 basedir=E:\mysql-5.7.19-winx64 # data目录 datadir=E:\my_data # 在mysqld --initialize时,就会将初始数据存入此处指定的目录,在初始化之后,启动mysql时,就会去这个目录里找数据
针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效
[client] port=3306 default-character-set=utf8 user=root password=123
只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置
[mysql] ;port=3306 ;default-character-set=utf8 user=egon password=4573