MySQL安装教程

下载软件

进入mysql官网,登陆自己的oracle账号,下载Mysql-5.7.14,下载地址:MySQL

将下载好的文件解压到指定目录,笔者解压在C:\software\Mysql\mysql-5.7.14-winx64

安装过程

首先配置环境变量path,将C:\software\Mysql\mysql-5.7.14-winx64\bin配置到自己的path中。

在解压路径下复制my-default.ini,修改名称为my.ini

打开文件my.ini,添加内容如下:

[mysqld]
basedir=C:\\software\Mysql\mysql-5.7.14-winx64
datadir=C:\\software\Mysql\mysql-5.7.14-winx64\data
port=3306

basedir:是上述mysql的解压路径

datadir:后续初始化等数据都会保存在该目录下,在该文件目录下新建data文件夹

port:表示连接数据库的端口号

初始化数据库 配置相关信息

以管理员身份运行windows 命令行,进入mysql的解压缩目录

提醒:此处需要进入bin目录,否则后续操作会出现错误。

执行进行初始化,运行命令:mysqld --initialize --user=mysql --console

此时会生成root的初始密码,记住此时生成的初始化密码。

安装Mysql服务。运行命令:mysqld --install MySQL

此时,可以起动mysql服务,运行命令:net start mysql

用户可能会出现如下错误:1. 发生系统错误 2. 系统找不到指定文件。

错误原因:如上所述,在运行安装服务命令:mysqld --install MySQL时,我们没有进入bin目录,进行安装。

解决方案:进入bin目录,首先移除service,运行命令 :mysqld --remove,重新安装mysql服务,运行命令:mysqld --install

登陆数据库

命令行输入mysql -u root -p

错误描述:error 1045 (28000)

解决方法
在my.ini文件中在[mysqld]后一行加入skip-grant-tables

此时,关闭mysql服务,再重新启动。重新登陆, 不需输入密码,直接enter。

输入use mysql选择mysql数据库,查询mysql数据库的user表:select * from user

此时,我们发现密码字段的名称为authentication_string。有的可能会是password,根据你查询出来的结果为准。

对表user执行update操作:

update user set authentication_string = password("*******") where user="root"

操作成功。退出mysql,删除my.ini 文件中的skip-grant-tables ,重新启动mysql服务。

启动成功。至此,mysql在windows中安装成功。

修改密码

进入数据库后输入use mysql 后,可能会报错,如下:
错误描述:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决方法:

SET PASSWORD = PASSWORD(‘your new password‘);
ALTER USER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER;
flush privileges;

完成以上三步退出再登,使用新设置的密码就行了。

创建用户

创建用户和数据库

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
create database dbname CHARACTER SET UTF8;

username:你将创建的用户名

host:指定该用户在哪个主机上可以登陆。如果是本地用户可用localhost;如果想让该用户可以从任意远程主机登陆,可以使用通配符%。

password:该用户的登陆密码。密码可以为空,如果为空则该用户可以不需要密码登陆服务器。

dbname:数据库名称

授权

GRANT privileges ON databasename.tablename TO 'username'@'host'

privileges:用户的操作权限,如SELECT , INSERT , UPDATE 等,如果要授予所的权限则使用ALL。

databasename:数据库名

tablename:表名

如果要授予该用户对所有数据库和表的相应操作权限则可用表示, 如.*。

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

设置与更改用户密码

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

如果是当前登陆用户用

SET PASSWORD = PASSWORD("newpassword");

刷新权限表

FLUSH PRIVILEGES;
    原文作者:九命丿相柳
    原文地址: https://www.jianshu.com/p/ea179a3a9825
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞