• mysql的安装


    方法/步骤

    1.下载。下载windows64版本的。如图所示。

    2.解压,将下载下来的文件解压到磁盘,我解压到c盘,如图所示。

    3.配置默认文件

    在安装目录下,新建一个my.ini文件,然后写入如下代码。

     

    [mysqld]
    #设置3306端口
    port = 3306
    # 设置mysql的安装目录
    basedir=C:mysql-5.7.18-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=C:mysql-5.7.18-winx64data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    explicit_defaults_for_timestamp=true
    [mysql]
    #设置mysql客户端默认字符集
    default-character-set=utf8

     

    4.安装mysql服务

    以管理员身份打开cmd,将目录切换到bin目录下,输入mysqld install ,注意是是mysqld,不是mysql。

    如果你是新的操作系统,有可能会出现如下的错误提示。

    按照它的提示,我们去下载一个MSVCP120.dll,或者直接从其他计算机的windows/system32(syswow64)中复制一个过来。放入相应文件夹(同时放入system32,syswow64)。然后再次输入mysqld install,发现出现如下错误。

    解决方法同上

    然后又出现

    这时候我们需要下载DirectX修复工具(增强版),修复即可,注意,需下载增强版,这样可以修补系统相关的C++组件。

    下载地址:http://www.pc6.com/softview/SoftView_57945.html

    在修复期间可能需要重启计算机。

    5.安装成功以后就可以启动mysql了,输入以下命令net start mysql。一般情况你可能会遇到这个错误。

     

    原因是mysql目录下并没有data文件夹,而我们的配置文件里面有写,所以需要先初始化,输入以下命令。mysqld  --initialize。但是很有可能你又会遇到如下的问题。

    凭我的直觉,这是my.ini的编码格式的问题,将它的编码格式改为ANSI,再次输入mysqld  --initialize

    又遇到如下错误

    猜测是因为之前运行mysqld  --initialize的时候已经生成了一个data文件夹,所以会出错,删除这个data文件夹,再次运行mysqld  --initialize。终于不报错了。

    然后再运行net start mysql

    又出问题了.

    估计是因为之前的某一次操作不小心启动了mysql服务,但是并未启动成功。只能来暴力的,直接从任务管理器停掉mysql.exe这个进程,然后再次运行net start mysql。

     这样就启动成功了。

    6.接下来我们在系统变量path中加入mysql的环境变量,就不用每次都要进入mysql的bin目录下了。具体的添加方法类似于java环境变量,此处不赘述。

    7.使用mysql,输入命令mysql -uroot -p,对于低版本的mysql应该是可以直接进入的,但是高版本的mysql会有一个初始的密码,你需要输入初始密码才能进入。

    但是我们怎么知道初始密码呢?

    不知道,所以需要采用以下方法来绕过这个限制。

    (1)编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入
      skip-grant-tables
    (2)、重启mysql服务(net stop mysql,然后net start mysql)
    (3).进入mysql数据库:输入mysql

     


    (4).mysql> use mysql;
        Database changed
    蓝色部分自己输入:
    mysql> update user set authentication_string=password("新密码") where user="root";
    Query OK, 1 rows affected (0.01 sec)
    Rows matched: 1 Changed: 1 Warnings: 0

    退出exit 就行了。记住直接关闭cmd窗口是没有退出的,要输入exit才会退出啊。

    8.接下来我们继续输入mysql -uroot -p,他会要求我们输入密码,我们输入新的密码,就可以进入mysql了。

    9.我们将之前在my.ini中加入的skip-grant-tables去掉,保存然后重启以后,再次想要直接进入mysql就不行了,必须使用mysql -uroot -p,要求输入密码以后才可以。

    10.但是当我们需要访问其中的数据库时,比如我输入use mysql的时候,它又提醒我需要修改 密码,如下。

    修改就修改,键入如下代码。

    然后退出,重新登录。登录以后再次键入use mysql,发现就可以了。

     

    10.然后我们修改一下root的权限,让他可以允许远程访问。

    update user set host = '%' where user = 'root';

    flush privileges;

    这样我们就可以在本地使用诸如sqlyog这样的软件来操纵服务器的数据库了。

    11.当我们在项目中一般不会用root这个账号,我们可以新建一个自己的账号,用这个账号来进行数据的增删改查,并且只赋予该账号增删改查这四种权限。这时候可以这样做。

    CREATE USER 'pig'@'%' IDENTIFIED BY '123456';

    这是给了pig这个账号远程访问的权限,并且设定初始密码为123456。

    但是有时候添加了新用户,在项目里面还是继续报错。

    Access denied for user 'xdx'@'125.77.212.21' (using password: YES)

    那是因为没有刷新,添加如下语句即可。

    mysql> flush privileges;

    这个语句可以在不重启mysql的情况下将用户信息和权限设置刷新到内存中。当然你也可以重启mysql.

     其他补充:

    1.有时候在安装完成,输入net stat mysql的时候,会报错:找不到指定文件。这可能是因为你之前有安装过旧的mysql,卸载完成以后。但是他在注册表的信息(路径)还是原来旧的路径,所以新的mysql就找不到那个文件。

    只需要打开注册表:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesMySQL。然后修改其中的ImagePath,改成你新的安装路径,然后重启mysql服务就可以了。

     2.有时候我们在用工具(sqlyog等)远程连接mysql的时候,明明什么都填写正确了,但是无法连接,这时候要看看服务器的3306端口是否有开启。

    3.有时候我们设置了新的用户,但是发现该用户只具有对information_schema这个表的权限,那是因为你没有赋予权限给它,输入以下代码可以赋予xdx用户在所有表上增删改查权限。

    use mysql;

    grant select,update,insert,delete on *.* to 'xdx'@'%';

    具体的赋权限的知识点可参考博客中其他文章。

  • 相关阅读:
    Django进阶(三)
    Django进阶(二)
    全局变量初始化顺序探究
    调试实战 —— dll 加载失败之全局变量初始化篇
    10 个实验搞懂命令提示符
    帮 vs2019 找回丢失的 SDK
    从堆里找回“丢失”的代码
    排错实战 —— 解决 c++ 工程编译错: error C2059 'string' illegal token on right side of xxx
    善用 vs 中的错误列表和输出窗口,高效查找 C++ 多工程编译错误
    使用 VMware + win10 + vs2019 从零搭建双机内核调试环境
  • 原文地址:https://www.cnblogs.com/roy-blog/p/7041247.html
Copyright © 2020-2023  润新知