Mysql数据库是中小型企业最热爱的数据库暂时没有之一,也是最流行的数据库之一。
MySQL软件安装包类型的安装步骤都是傻瓜式的下一步,这个我就不多赘述。我要为大家推荐的是绿色配置版;通过配置相关的信息能够让我们更加了解MySQL数据库 。话不多说啦 开始!
msyql下载:
官方网址:https://dev.mysql.com/downloads/mysql/
(据说MySQL被Oracle收购,以后要收费,以防万一文章最后会留一个私连,需要的可以直接下滑到底下载)
软件包下来解压之后
最新的5.7是没有data文件夹(数据库存放的位置)和配置文件my.ini.需要自己手动新建
my.ini中的配置如下:
[mysqld]
#basedir代表自己MySQL的安装根目录
basedir = C:\\APP\\MySql\\mysql-5.7.19-winx64
#datadir代表自己MySQL的数据库保存的目录,如果没有在MySQL安装的根目录下新建一个data文件夹
datadir = C:\\APP\\MySql\\mysql-5.7.19-winx64\\data
#port代表端口号
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
大家根据自己的情况来配置
注意: my.ini文件的编码必须是英文编码(如windows中的ANSI),不能是UTF-8或GBK等
完成上述步骤之后,很多用户开始使用MySQL,但会出现图示的错误。这是因为没有配置环境变量所致。配置环境变量很简单:
我的电脑->属性->高级->环境变量
选择PATH,在其后面添加: 你的mysql bin文件夹的路径 (如:C:\Program Files\MySQL\MySQL Server 5.6\bin )
PATH=…….;C:\Program Files\MySQL\MySQL Server 5.6\bin (注意是追加,不是覆盖)
配置好之后进入系统盘C:\Windows\System32目录下 找到cmd.exe并以系统管理员身份运行(Win+R也可以但Windows的管理员权限有时候不是很清晰,以这个路径进去绝对是管理员)
进入cmd之后再进入你解压mysql的bin路径下,我的是:C:\APP\MySql\mysql-5.7.19-winx64\bin.通过mysqld –install进行安装
如图显示则安装成功 通过net start mysql来启动MySQL服务;但你会发现服务会启动失败:
其主要原因是MySQL系统在安装时没有初始化,这时候最安全的方式就是把之前安装的卸载仔重新安装。卸载命令是:mysqld –remove
在dos窗口下将目录切换到MySQL的根目录,然后执行bin\mysqld –defaults-file=my.ini –initialize-insecure(最好是复制我的,不然容易打错)当时我就遇到下面这个问题
这个原因是我们之前新建的data目录下因为之前安装过里面已经有一些文件导致无法初始化,最简单的办法是清空data目录下的所有文件:
在执行bin\mysqld –defaults-file=my.ini –initialize-insecure
成功后就继续安装MySQL
安装成功后启动MySQL服务:
进入MySQL进行配置:
mysql -u root -p
第一次进入不需要密码直接回车就可以进,但第一次就需要配置密码不然第二次没密码就进不去啦。
但有时候你按上面配置密码之后,再进去就出现啦我下面的内容,那说明你跟我遇到一样的问题啦。成功啦的可以不用看啦,没有成功或想了解一下的可以继续:follow me!
这个问题主要是因为你root用户的配置问题:上面你给root用户配置啦密码 但没有指定root用户的使用方式。所以我们需要先给root指定它的访问方式:localhost->只能本地访问;%->通用即可远程也可本地;所以我们直接把访问方式设置为 “ % ”
再查看一下效果:
nice!
问题会报这种错误: 1130 -host ‘localhost’ is not allowed to connect to this mysql server
如果上述方法不能解决你的问题可以在下面找找其他可行的方法:
1. 改表法:可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>select host, user from user;
2. 授权法:
- 你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
- 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON . TO ‘myuser’@’192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
- 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON dk.* TO ‘myuser’@’192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
在安装mysql的机器上运行:
1. d:\mysql\bin>mysql -h localhost -u root //这样应该可以进入MySQL服务器
2. mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ WITH GRANT OPTION //赋予任何主机访问数据的权限
3. mysql>FLUSH PRIVILEGES //修改生效
4. mysql>EXIT //退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦!
接下来我们来更改root密码:
新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password(‘root’) where user=’root’时提示ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’,原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
所以更改语句替换为update MySQL.user set authentication_string=password(‘123456’) where user=’root’ ;即可
有时候把root密码忘记啦应该怎么办呢?
找到我们上面新建的my.ini文件
在[mysqld]下加下面两行,
skip-name-resolve
skip-grant-tables
重启mysql的windows服务
再通过:mysql -u root -p 遇到密码直接回车也能进入MySQL;重新按上面方式配置密码。即可!