美文网首页MySQLmysql 知识库
绿色版 mysql 的安装(MacOS 篇)

绿色版 mysql 的安装(MacOS 篇)

作者: RJ_Hwang | 来源:发表于2020-02-12 15:37 被阅读0次

    1. 下载

    https://dev.mysql.com/downloads/mysql/ 下载相应版本的压缩包,如 mysql-8.0.19-macos10.15-x86_64.tar.gz

    2. 安装配置

    解压下载的文件 mysql-8.0.19-macos10.15-x86_64.tar.gz 到安装目录 $MYSQL_HOME,如 /path/to/mysql/mysql-8.0.19-macos10.15-x86_64。目录结构应该如下:

    /path/to/mysql/mysql-8.0.19-macos10.15-x86_64/
    |--bin/
    |  |--mysqld         < server
    |  |--mysqld-debug   < server with debug
    |  |--mysql          < client
    |  |--mysqladmin     < admin tool
    |  |--...
    |--docs/
    |--include/
    |--lib/
    |--man/
    |--share/
    |--support-files/
    |--LICENSE
    |--README
    

    创建软链接方便日后的升级维护:

    $ ln -s /path/to/mysql/mysql-8.0.19-macos10.15-x86_64 /path/to/mysql/mysql-latest
    

    添加系统环境变量以便在终端可以直接使用 mysql 的命令:

    # 编辑文件 `~/.profile`
    $ vi ~/.profile
    
    # 添加如下 3 行配置到文件 `~/.profile` 内
    export MYSQL_HOME=/path/to/mysql/mysql-latest
    export MYSQL_DATA=/path/to/mysql/mysql-data
    PATH=$PATH:$MYSQL_HOME/bin
    
    # 使上述添加的配置立即生效
    $ source ~/.profile
    

    3. 数据库初始化

    执行如下命令初始化 mysql:

    $ mysqld --initialize --console --datadir=$MYSQL_DATA
    2020-02-12T06:49:32.947848Z 0 [System] [MY-013169] [Server] /path/to/mysql/mysql-8.0.19-macos10.15-x86_64/bin/mysqld (mysqld 8.0.19) initializing of server in progress as process 16486
    2020-02-12T06:49:32.971647Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /path/to/mysql/mysql-latest/ is case insensitive
    2020-02-12T06:49:37.667706Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: E;Lur9R4gxjv
    

    --datadir 参数指定了 mysql 的数据目录,不指定时默认为 $MYSQL_HOME/data。初始化成功后终端会输出为 root 账号创建的默认密码,用于后续登陆。

    4. 启动数据库

    执行如下命令直接在终端启动:

    $ mysqld --datadir=$MYSQL_DATA
    2020-02-12T06:57:36.655331Z 0 [System] [MY-010116] [Server] /Volumes/RJ/green/mysql/mysql-8.0.19-macos10.15-x86_64/bin/mysqld (mysqld 8.0.19) starting as process 16676
    2020-02-12T06:57:36.684761Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /Volumes/RJ/data/mysql-8/ is case insensitive
    2020-02-12T06:57:38.021921Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
    2020-02-12T06:57:38.085620Z 0 [System] [MY-010931] [Server] /Volumes/RJ/green/mysql/mysql-8.0.19-macos10.15-x86_64/bin/mysqld: ready for connections. Version: '8.0.19'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server - GPL.
    2020-02-12T06:57:38.248663Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/tmp/mysqlx.sock' bind-address: '::' port: 33060
    

    启动后的默认连接端口为 3306。--datadir 参数指定了 mysql 的数据目录,不指定时默认为 $MYSQL_HOME/data

    要停止 mysql 服务,在终端执行如下命令:

    $ mysqladmin -u root -p shutdown
    Enter password: ***
    

    5. 修改 root 账号密码

    $ mysql -u root -p # 使用 root 账号登陆 mysql 服务器
    Enter password: ***
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 8
    Server version: 8.0.19
    
    Copyright (c) 2000, 2020, 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.
    
    mysql> alter user 'root'@'localhost' identified by 'new-root-password'; # 修改为新的密码
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> \q
    Bye
    

    6. 账号创建及维护

    # 创建只能在 localhost 连接服务器的 tester 账号
    mysql> create user 'tester'@'localhost' identified by 'password';
    
    # 创建可通过任何 example.com 连接服务器的 tester 账号
    mysql> create user 'tester'@'%.example.com' identified by 'password';
    
    # 为本地 tester 账号赋予所有权限
    mysql> grant all on *.* to 'tester'@'localhost' with grant option;
    
    # 让本地 tester 账号只可以管理 testdb 数据库
    mysql> grant all on testdb.* to 'tester'@'localhost';
    
    # 让本地 tester 账号对 testdb 数据库某个 user 表只有特定的权限
    mysql> grant SELECT,INSERT,UPDATE,DELETE,CREATE,DROP on testdb.user to 'tester'@'localhost'
    
    # 查看账号的权限
    mysql> show grants for 'tester'@'localhost';
    
    # 反向删除通过 grant 命令赋予的权限
    mysql> revoke all on *.* from 'tester'@'localhost';
    mysql> revoke INSERT,UPDATE,DELETE on testdb.user from 'tester'@'localhost';
    
    # 删除账号
    mysql> drop user 'tester'@'localhost';
    

    7. 数据库创建及维护

    # 显示可用的数据库编码
    SHOW CHARACTER SET;
    SHOW CHARACTER SET like 'utf8%';
    
    # 创建数据库
    create database if not exists testdb character set utf8;
    show create database testdb;
    
    # 删除数据库
    drop database testdb;
    

    参考

    相关文章

      网友评论

        本文标题:绿色版 mysql 的安装(MacOS 篇)

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