黑窗口下安装MySQL数据库

mac2022-06-30  9

黑窗口下安装MySQL数据库(这篇是黑窗口下安装并配置mysql的过程以及可能会出现的问题和解决的方法)

博主小G我安装了几次mysql之后被折磨的晕头转向,最近太忙一直没有时间记下来,以至于在同一个坑跪了好几次,小伙伴们看见没有,笔记还是要记,阔怕

1.解压安装包(解压之后是一个包含bin文件的文件夹)

2.黑窗口进入该bin文件夹下执行:mysqld -install

3.修改my*配置文件,可将文件复制一份重命名为“my”,打开文件修改[mysqld]下“basedir = …”为“basedir = 你的MySQL直到其bin文件的路径”,修改“datadir = …”为“datadir = 你的MySQL直到其data文件的路径”,注意要把前边的#去掉(#为注释)

4.设置服务器端字符集,将 #设置字符集为utf8 loose-default-character-set = utf8 character-set-server = utf8 放在3步骤中修改的两个路径上面(个人习惯,不放这里也可以,放在[mysqld]下就妥)

5.设置客户端字符集,将如下内容放置在文件最后 [client] #设置客户端字符集 default-character-set = utf8

6.在黑窗口运行“net stop mysql”和“net start mysql”重启服务

7.可以在配置系统环境变量之后再去配置mysql登录账户和密码(配不配置系统环境变量的差别就是mysql能不能在任意路径下使用)

8.关于配置账户和密码的步骤及可能出现的问题的解决方法

8.1.黑窗口执行“mysql”命令,如果不能进入,修改你的mysql安装路径下的my配置文件,将“skip-grant-table”放在“server-id”下面,重启mysql服务“net stop mysql”、“net start mysql”

8.2.再次执行“mysql”命令进入到mysql中,首先查看能不能访问数据库名为“mysql”的数据库,不能访问的情况下强行插入账户和密码会提示ERROR 1044 (42000): Access denied for user ‘’@‘localhost’ to database 'mysql’的错误,查看能不能访问的两种方法:一是执行“show databases;”命令看有没有mysql数据库,没有就不能访问;二是执行“use mysql”切换数据库命令,不能访问就会直接报错。这种情况下先输入“exit”退出mysql,再执行“mysql -u root mysql”命令,此时你会发现数据库名为“mysql”的数据库可以用了。

8.3.输入“use mysql”,添加或修改root的密码和权限 insert into user (host,user,password) values(‘localhost’,‘root’,‘你设置的密码’);(注意sql语句要有结尾的分号); 执行完上述sql语句之后查看user表里的数据,输入sql语句“select * from user”,如果你设置的密码和查出来的密码是一样的,比如你设置了“mysql123”,查询到的密码也是“mysql123”,这时候你直接退出下次登录前还是会失败(当然前提是你把步骤一里面的skip-grant-table已经注释掉了,此时就会出现ERROR 1130 (HY000)错误),用户密码都是使用密文存储,此时查询到的是明文,登录数据库的时候会发现加密之后的密码不匹配,登录失败

8.4.出现ERROR 1130 (HY000)错误之后先看你my配置文件里的skip-grant-table有没有被你注释掉,按照步骤1执行,登录MySQL之后,执行 “grant all privileges on . to root@‘localhost’ identified by “此处为你刚才设置的密码”;”, 执行会出现“ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement”错误,此时刷新权限(执行“flush privileges;”)之后再执行刚才的grant命令就妥了。修改权限后你会发现user表里你刚设置的密码变成了密文。

8.5.将my文件中的skip-grant-table删除或者注释掉,保存文件,在黑窗口重启mysql服务后就可以正常使用账户和密码登录

注意:my文件中添加的skip-grant-table是屏蔽了登录数据库时校验身份这个过程,设置完账户和密码之后一定要删除或者注释掉,否则会降低数据库安全性

最新回复(0)