美文网首页
windows安装mysql8.0.18,修改密码,远程

windows安装mysql8.0.18,修改密码,远程

作者: Py_Explorer | 来源:发表于2019-11-07 13:24 被阅读0次

    Windows 上安装 MySQL

    Windows 上安装 MySQL 相对来说会较为简单,最新版本可以在 MySQL 下载 中下载中查看(更详细安装:Windows 上安装 MySQL)。

    image.png

    点击 Download 按钮进入下载页面,点击下图中的 No thanks, just start my download. 就可立即下载:

    image

    下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.18下。

    接下来我们需要配置下 MySQL 的配置文件

    打开刚刚解压的文件夹 C:\web\mysql-8.0.18 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:

    [client]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    
    [mysqld]
    # 设置3306端口
    port = 3306
    # 设置mysql的安装目录
    basedir=C:\\web\\mysql-8.0.11
    # 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下
    配置,系统自己生成即可,否则有可能报错
    # datadir=C:\\web\\sqldata
    # 允许最大连接数
    max_connections=20
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    
    • 接下来我们来启动下 MySQL 数据库:

    以管理员身份打开 cmd 命令行工具,切换目录:

     cd C:\web\mysql-8.0.18\bin
    
    • 初始化数据库:

      mysqld --initialize --console
      

    执行完成后,会输出 root 用户的初始默认密码,如:

    ...
    2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
    ...
    

    APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。

    输入以下安装命令:

     mysqld install
    

    启动输入以下命令即可:

     net start mysql
    

    注意: 在 5.7 需要初始化 data 目录:

    cd C:\web\mysql-8.0.18\bin 
    mysqld --initialize-insecure 
    

    初始化后再运行 net start mysql 即可启动 mysql。

    登录 MySQL

    当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:

     mysql -h 主机名 -u 用户名 -p
    参数说明:
    
    -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 
    或 127.0.0.1)该参数可以省略;
    -u : 登录的用户名;
    -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
    

    如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:

     mysql -u root -p
    

    按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:

     Enter password:
    

    若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the MySQL monitor... 的提示语。

    然后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。

    修改mysql的初始密码

     1、use mysql;
    
     2、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
    
     3、FLUSH PRIVILEGES;
    

    mysql开启远程连接

    将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。

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

    将权限改为ALL PRIVILEGES

    mysql> use mysql;
      Database changed
    mysql> grant all privileges  on *.* to root@'%' identified by "password";
      Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
      Query OK, 0 rows affected (0.00 sec)
    
    mysql> select host,user,password from user;
      +--------------+------+-------------------------------------------+
      | host         | user | password                                  |
      +--------------+------+-------------------------------------------+
      | localhost    | root | 
      *A731AEBFB621E354CD41BAF207D884A609E81F5E |
      | 192.168.1.1 | root | 
      *A731AEBFB621E354CD41BAF207D884A609E81F5E |
      | %            | root | 
      *A731AEBFB621E354CD41BAF207D884A609E81F5E |
      +--------------+------+-------------------------------------------+
      3 rows in set (0.00 sec)
    

    这样机器就可以以用户名root密码root远程访问该机器上的MySql.

    使用navicate连接

    MySQL[Err]1055
    上次MySQL5.7.19主从建立完成之后,所有的测试都是在MySQL命令行下进行的,最近用Navicat Premium进行MySQL的连接,然后在插入数据的时候MySQL突然报错了,可是我的数据插入成功了,感觉很奇怪!!
    报错内容如下:
    [SQL]INSERT INTO biao(ziduan2) VALUES(8888888);
    受影响的行: 1
    时间: 0.012s

    [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; 
    this is incompatible with sql_mode=only_full_group_by
    
    • 解决方法

      select version(),
      @@sql_mode;SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
      
    image.png
     1 show variables like "sql_mode";
     2 
     3 set sql_mode='';
     4 set sql_mode='NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES';
    

    使用python2连接mysql报错1043, Bad henshake

      pymysql.err.InternalError: (1043, 'Bad handshake')
    

    解决方法,卸载当前的pymysql,重新安装最新的即可

    python -m pip uninstall pymysql
    python -m pip install pymsyql
    

    相关文章

      网友评论

          本文标题:windows安装mysql8.0.18,修改密码,远程

          本文链接:https://www.haomeiwen.com/subject/zlbmbctx.html