zoukankan      html  css  js  c++  java
  • Mac OS X 下安装MySQL 5.7

    下载安装包

    官网下载安装包 选择相应的版本和格式,有 .dmg 和压缩包两种。

    这里选择简单直接的 .dmg安装包,下载的时候可以将下载地址直接贴到迅雷,速度比较快。

    安装

    安装很简单,直接双击下好的.dmg文件,一路next就可以了。

    启动 MySQL

    OK!安装够简单,接下来就是启动MySQL,以及具体使用了。

    系统偏好设置->MySQL->Start MySQL Server

    image

    启动 Mysql

    image

    然后在终端中进入MySQL控制台

    1
    2
    3
    jacob@promote:~$ mysql -u root -p
    Enter password:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    这是什么情况,root用户的密码是啥,安装的时候也没有提示要设置密码。

    Google之,说是初始安装后密码为空直接回车就可以了,试了下不行,提示如上。下面就来解决这个问题。

    MySQL修改密码

    • 关闭服务

    系统偏好设置->MySQL->Stop MySQL Server

    • 安全模式进入MySQL
    1
    jacob@JacobdeMacBook-Pro:~$ sudo mysqld_safe --skip-grant-tables

    重新打开一个终端 进入MySQL控制台

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    jacob@JacobdeMacBook-Pro:~$ mysql -u root
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 3
    Server version: 5.7.7-rc MySQL Community Server (GPL)

    Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

    提示已经成功进入控制台

    修改密码,sql语句

    1
    mysql> update mysql.user set password=password('123456') where user='root';

    坑爹的地方来了,输入后报如下错误

    1
    ERROR 1054 (42S22): Unknown column 'password' in 'field list'

    神马情况,'password'列不存在,这个地方花了好多时间,原因其实很简单啊啊。

    MySQL 5.7 版本中 user表中的密码字段列名称变了,从password变成了authentication_string
    可以直接看一下user表中的字段

    1
    2
    mysql> use mysql;
    mysql> desc user;

    部分字段如下

    FieldTypeNullKeyDefaultExtra
    Host char(60) NO PRI    
    User char(16) NO PRI    
    authentication_string text YES   NULL  
    password_expired enum(‘N’,’Y’) NO   N  
    password_last_changed timestamp YES   NULL  
    password_lifetime smallint(5) unsigned YES   NULL  

    最后用如下如下语句修改

    1
    2
    3
    4
    5
    6
    mysql> update mysql.user set authentication_string=PASSWORD('123456') where user='root';
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 1

    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    修改成功,再次进入控制台

    1
    mysql> show databases;

    这次可以进去了,但是随便执行一条语句依然报错啊

    1
    ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

    按照提示再次设置密码

    1
    2
    mysql> set password for root@localhost=password('12345');
    Query OK, 0 rows affected, 1 warning (0.00 sec)

    这次OK了,接下来就可以正常建表、查询 使用了。

    mysql的启动和停止

    mysql.server是包含在和 MySQL Unix分发包中的启动脚本,该脚本可以用于LinuxSolaris类似的系统中。这种系统使用 V-style(区别与BSD-style)系统运行目录来启动和停止服务。

    mysql.server可以在MySQL安装目录中的support-files文件夹中找到,如果使用的是rpm安装包方式(与之相对应的另一种安装包方式是dpkg),mysql.server脚本会被安装在/etc/init.d,而且会被重命名mysql

    另外一些发行版本会重命名为mysqld

    1. Linux下启动/停止/重启启动命令如下:

    /etc/init.d/mysqld start

    /etc/init.d/mysqld stop

    /etc/init.d/mysqld restart

    2. Linux下以Service方式启动/停止/重启MySQL命令:

    service mysqld start

    service mysqld stop

    service mysqld restart

    or

    service mysql start

    service mysql stop

    service mysql restart

    service 命令就是调用/etc/init.d/下边的脚本来启动服务,等于直接使用/etc/init.d/* start

    service 描述中讲到
    DESCRIPTION
    service runs a System V init script in as predictable environment as possible, removing most environment variables and with current working directory set to /.
    The SCRIPT parameter specifies a System V init script, located in /etc/init.d/SCRIPT.
    

    3. MAC OX命令行启动/停止/重启MySQL命令:

    sudo /usr/local/mysql/support-files/mysql.server start

    sudo /usr/local/mysql/support-files/mysql.server stop

    sudo /usr/local/mysql/support-files/mysql.server restart

    参考1:通过VPS加深对Linux命令的一些理解

    参考2:MySQL命令行启动

  • 相关阅读:
    Mybatis源代码分析之类型转换
    eclipse中对于@override注解的函数报父类没有该方法
    Mybatis源代码分析之metadata包
    Android GC
    有道单词本导出xml转换.
    广播的接收与U盘广播
    Bitmap和Drawable相互转换方法
    如何提交程序到Android Market
    error parsing xml:unbound prefix
    android获取屏幕尺寸、密度
  • 原文地址:https://www.cnblogs.com/200911/p/5337985.html
Copyright © 2011-2022 走看看