• CentOS 7 安装配置 MySQL


    https://blog.imzhengfei.com/centos-7-an-zhuang-pei-zhi-mysql/

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

    MySQL 版本介绍

    • MySQL Community Server 社区版,开源免费,但不提供官方技术支持。
    • MySQL Enterprise Edition 企业版,需付费,可以试用 30 天。
    • MySQL Cluster 集群版,开源免费,可将几个 MySQL Server 封装成一个 Server。
    • MySQL Cluster CGE 高级集群版,需付费。
    • MySQL Workbench Community Edition (MySQL Workbench OSS) 社区版 MySQL 数据库建模工具,开源免费。
    • MySQL Workbench Standard Edition (MySQL Workbench SE) 商业版 MySQL 数据库建模工具,需付费。

    安装配置 MySQL

    卸载 Mariadb

    查询 CentOS 7 自带的 Mariadb:

    rpm -qa | grep mariadb
    
    Shell

    mariadb-libs-5.5.56-2.el7.x86_64

    卸载 Mariadb:

    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    
    Shell

    卸载旧版本

    查询是否已安装 MySQL:

    rpm -qa | grep mysql
    
    Shell

    如果已安装低版本的 MySQL:

    mysql-community-libs-5.7.1-1.el7.x86_64
    mysql-community-common-5.7.1-1.el7.x86_64
    mysql-community-server-5.7.1-1.el7.x86_64
    mysql-community-client-5.7.1-1.el7.x86_64

    停止 MySQL 服务:

    systemctl stop mysqld
    
    Shell

    关闭 MySQL 服务开机启动:

    systemctl disable mysqld
    
    Shell

    卸载低版本的 MySQL:

    rpm -e --nodeps mysql-community-libs-5.7.1-1.el7.x86_64
    rpm -e --nodeps mysql-community-common-5.7.1-1.el7.x86_64
    rpm -e --nodeps mysql-community-server-5.7.1-1.el7.x86_64
    rpm -e --nodeps mysql-community-client-5.7.1-1.el7.x86_64
    
    Shell

    添加最新的 Yum 源

    前往 MySQL 官网查看最新版本的:

    Download MySQL Yum Repository

    查看:

    Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package

    对应的 rpm 包名:

    mysql80-community-release-el7-1.noarch.rpm

    和 MD5值:

    739dc44566d739c5d7b893de96ee6848

    则对应的 yum 源下载地址为:

    http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm

    下载该 yum 源到用户目录:

    计算 MD5:

    md5sum ~/mysql80-community-release-el7-1.noarch.rpm
    
    Shell

    739dc44566d739c5d7b893de96ee6848 /root/mysql80-community-release-el7-1.noarch.rpm

    MD5 值和官方提供的一致,是安全的,添加该源:

    yum -y localinstall ~/mysql80-community-release-el7-1.noarch.rpm
    
    Shell

    安装需要版本

    查看当前可安装的 MySQL 软件包:

    yum repolist enabled | grep mysql
    
    Shell

    mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community 禁用
    mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - So 禁用
    mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community 禁用
    mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - So 禁用
    mysql-connectors-community/x86_64 MySQL Connectors Community 启用: 51
    mysql-connectors-community-source MySQL Connectors Community - Sou 禁用
    mysql-tools-community/x86_64 MySQL Tools Community 启用: 63
    mysql-tools-community-source MySQL Tools Community - Source 禁用
    mysql-tools-preview/x86_64 MySQL Tools Preview 禁用
    mysql-tools-preview-source MySQL Tools Preview - Source 禁用
    mysql55-community/x86_64 MySQL 5.5 Community Server 禁用
    mysql55-community-source MySQL 5.5 Community Server - Sou 禁用
    mysql56-community/x86_64 MySQL 5.6 Community Server 禁用
    mysql56-community-source MySQL 5.6 Community Server - Sou 禁用
    mysql57-community/x86_64 MySQL 5.7 Community Server 禁用
    mysql57-community-source MySQL 5.7 Community Server - Sou 禁用
    mysql80-community/x86_64 MySQL 8.0 Community Server 启用: 17
    mysql80-community-source MySQL 8.0 Community Server - Sou 禁用

    可以看到所有该源支持的软件系列版本,这里默认启用了 MySQL 8.0 Community Server ,而我们需要安装的是 MySQL 5.7 Community Server,因此需要修改源设置:

    vim /etc/yum.repos.d/mysql-community.repo
    
    Shell

    找到:

    [mysql57-community]
    name=MySQL 5.7 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    将 enabled=0 改成 enabled=1 ,再找到:

    [mysql80-community]
    name=MySQL 8.0 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
    enabled=1
    gpgcheck=1

    将 enabled=1 改成 enabled=0 ,保存退出。

    现在查看 MySQL 各个系列默认的版本:

    yum repolist enabled | grep mysql
    
    Shell

    mysql-connectors-community/x86_64 MySQL Connectors Community 51
    mysql-tools-community/x86_64 MySQL Tools Community 63
    mysql57-community/x86_64 MySQL 5.7 Community Server 267

    安装 MySQL 5.7 Community Server:

    yum -y install mysql-community-server
    
    Shell

    查看安装的 MySQL 版本:

    mysqld -V
    
    Shell

    mysqld Ver 5.7.22 for Linux on x86_64 (MySQL Community Server (GPL))

    启动 MySQL 服务:

    systemctl start mysqld
    
    Shell

    设置 MySQL 服务开机启动:

    systemctl enable mysqld
    
    Shell

    查看 MySQL 服务状态:

    systemctl status mysqld
    
    Shell

    ● mysqld.service - MySQL Server
    ​ Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
    ​ Active: active (running) since Mon 2017-10-23 20:53:59 CST; 48s ago
    ​ Docs: man:mysqld(8)
    ​ http://dev.mysql.com/doc/refman/en/using-systemd.html
    Main PID: 25918 (mysqld)
    ​ CGroup: /system.slice/mysqld.service
    ​ └─25918 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

    Oct 23 20:53:52 web systemd[1]: Starting MySQL Server...
    Oct 23 20:53:59 web systemd[1]: Started MySQL Server.

    基本配置

    停止 MySQL 服务:

    systemctl stop mysqld
    
    Shell

    备份 MySQL 主配置文件:

    mv /etc/my.cnf /etc/my.cnf.bak
    
    Shell

    创建并修改新的 MySQL 主配置文件:

    vim /etc/my.cnf
    
    Shell

    插入如下配置:

    # mysqld config
    [mysqld]
    port=3306
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    symbolic-links=0
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    character-set-server=utf8
    
    # mysql config
    [mysql]
    socket=/var/lib/mysql/mysql.sock
    default-character-set=utf8
    
    # client config
    [client]
    socket=/var/lib/mysql/mysql.sock
    default-character-set=utf8
    
    Shell

    保存退出,启动 MySQL 服务:

    systemctl start mysqld
    
    Shell

    初始密码

    第一次启动 MySQL 时,会在日志文件中给 root 用户随机生成一个密码:

    grep 'temporary password' /var/log/mysqld.log
    
    Shell

    2018-04-29T09:49:14.632164Z 1 [Note] A temporary password is generated for root@localhost: 468iGoy*p(DA

    最后面的 468iGoy*p(DA 就是随机密码,使用该随机密码登录 MySQL 控制台:

    mysql -u root -p -h localhost
    
    Shell

    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.7.22

    Copyright (c) 2000, 2018, 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>

    为 root 用户设置新密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';
    
    Mysql

    注意: <password> 为新密码 (推荐 16 位以上,包含符号,大小写字母,数字组合) 。

    如果出错

    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    说明密码强度不够,需更换更高强度密码,成功设置则显示如下:

    Query OK, 0 rows affected (0.00 sec)

    使配置即刻生效:

    FLUSH PRIVILEGES;
    
    Mysql

    退出 MySQL 控制台:

    EXIT;
    
    Mysql

    管理 MySQL

    注意: 每次修改配置之后,需要刷新权限:

    FLUSH PRIVILEGES;
    
    Mysql

    修改路径

    停止 MySQL 服务:

    systemctl stop mysqld
    
    Shell

    创建目标路径:

    mkdir -p /home/db
    
    Shell

    拷贝数据文件及文件权限:

    cp -a /var/lib/mysql /home/db
    
    Shell

    修改 MySQL 主配置文件:

    vim /etc/my.cnf
    
    Shell

    所有的:

    datadir=/var/lib/mysql

    都替换成:

    datadir=/home/db/mysql
    
    Shell

    所有的:

    socket=/var/lib/mysql/mysql.sock

    都替换成:

    socket=/home/db/mysql/mysql.sock
    
    Shell

    保存退出,启动 MySQL 服务:

    systemctl start mysqld
    
    Shell

    服务管理

    查看 MySQL 服务:

    # 查看服务状态信息
    systemctl status mysqld
    # 查看服务是否在运行
    systemctl is-active mysqld
    # 查看服务是否开机启动
    systemctl is-enabled mysqld
    
    Shell

    打开、关闭和重启 MySQL 服务:

    # 打开
    systemctl start mysqld
    # 关闭
    systemctl stop mysqld
    # 重启
    systemctl restart mysqld
    
    Shell

    查看、打开和关闭 MySQL 服务开机启动:

    # 打开 MySQL 服务开机启动
    systemctl enable mysqld
    # 关闭 MySQL 服务开机启动
    systemctl disable mysqld
    
    Shell

    登录管理

    登陆本机的 MySQL:

    mysql -u <user> -p -h localhost
    
    Shell

    用户登出:

    EXIT;
    
    Mysql

    用户管理

    创建用户:

    CREATE USER '<user>'@'<host>' IDENTIFIED BY '<password>';
    
    Mysql

    参数 <host> 可设置为:

    • localhost :用户只能在本机登录;
    • % :通配符,用户可以在任意主机登录;
    • <IP> :用户只能从指定 IP 的主机登录( IP 中可以使用 % 通配符,比如:192.168.100.%)。

    注意: 当需要把一个用的 <host> 设置为 % 时,必需同时创建一个和该用户拥有相同用户名和密码,相同数据库权限的 localhost 的用户,否则该用户可能无法在 localhost 登陆 MySQL。

    修改当前登录的用户密码:

    SET PASSWORD = PASSWORD('<password>');
    
    Mysql

    修改指定用户密码:

    SET PASSWORD FOR '<user>'@'<host>' = PASSWORD('<password>');
    
    Mysql

    删除用户:

    DROP USER '<user>'@'<host>';
    
    Mysql

    查看用户信息:

    SELECT User, Host FROM mysql.user;
    
    Mysql

    仓库管理

    查看数据库列表:

    SHOW DATABASES;
    
    Mysql

    创建数据库:

    CREATE DATABASE <database>;
    
    Mysql

    删除数据库:

    DROP DATABASE <database>;
    
    Mysql

    权限管理

    授权指定用户从指定域访问指定数据库的指定数据表:

    GRANT <privilege> ON <database>.<table> TO '<user>'@'<host>';
    
    Mysql

    参数 <privilege> 可设置为:

    • All :表示所有权限;
    • SELECT / INSERT / UPDATE 等指定权限(多权限用 , 隔开)。

    参数 <database> 可用 * 表示所有数据库。

    参数 <table> 可用 * 表示所有表。

    撤销指定用户从指定域对指定数据的库指定表的权限:

    REVOKE <privilege> ON <database>.<table> FROM '<user>'@'<host>';
    
    Mysql

    MySQL 常用工具

    Workbench

    MySQL Workbench provides DBAs and developers an integrated tools environment for:

    • Database Design & Modeling
    • SQL Development
    • Database Administration
    • Database Migration

    The Community (OSS) Edition is available from this page under the GPL.

    Workbench 是 MySQL 官方提供的 MySQL 管理工具,开源免费,支持全平台。

    下载地址:Download MySQL Workbench

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

    MySQL 版本介绍

    • MySQL Community Server 社区版,开源免费,但不提供官方技术支持。
    • MySQL Enterprise Edition 企业版,需付费,可以试用 30 天。
    • MySQL Cluster 集群版,开源免费,可将几个 MySQL Server 封装成一个 Server。
    • MySQL Cluster CGE 高级集群版,需付费。
    • MySQL Workbench Community Edition (MySQL Workbench OSS) 社区版 MySQL 数据库建模工具,开源免费。
    • MySQL Workbench Standard Edition (MySQL Workbench SE) 商业版 MySQL 数据库建模工具,需付费。

    安装配置 MySQL

    卸载 Mariadb

    查询 CentOS 7 自带的 Mariadb:

    rpm -qa | grep mariadb
    
    Shell

    mariadb-libs-5.5.56-2.el7.x86_64

    卸载 Mariadb:

    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    
    Shell

    卸载旧版本

    查询是否已安装 MySQL:

    rpm -qa | grep mysql
    
    Shell

    如果已安装低版本的 MySQL:

    mysql-community-libs-5.7.1-1.el7.x86_64
    mysql-community-common-5.7.1-1.el7.x86_64
    mysql-community-server-5.7.1-1.el7.x86_64
    mysql-community-client-5.7.1-1.el7.x86_64

    停止 MySQL 服务:

    systemctl stop mysqld
    
    Shell

    关闭 MySQL 服务开机启动:

    systemctl disable mysqld
    
    Shell

    卸载低版本的 MySQL:

    rpm -e --nodeps mysql-community-libs-5.7.1-1.el7.x86_64
    rpm -e --nodeps mysql-community-common-5.7.1-1.el7.x86_64
    rpm -e --nodeps mysql-community-server-5.7.1-1.el7.x86_64
    rpm -e --nodeps mysql-community-client-5.7.1-1.el7.x86_64
    
    Shell

    添加最新的 Yum 源

    前往 MySQL 官网查看最新版本的:

    Download MySQL Yum Repository

    查看:

    Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package

    对应的 rpm 包名:

    mysql80-community-release-el7-1.noarch.rpm

    和 MD5值:

    739dc44566d739c5d7b893de96ee6848

    则对应的 yum 源下载地址为:

    http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm

    下载该 yum 源到用户目录:

    计算 MD5:

    md5sum ~/mysql80-community-release-el7-1.noarch.rpm
    
    Shell

    739dc44566d739c5d7b893de96ee6848 /root/mysql80-community-release-el7-1.noarch.rpm

    MD5 值和官方提供的一致,是安全的,添加该源:

    yum -y localinstall ~/mysql80-community-release-el7-1.noarch.rpm
    
    Shell

    安装需要版本

    查看当前可安装的 MySQL 软件包:

    yum repolist enabled | grep mysql
    
    Shell

    mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community 禁用
    mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - So 禁用
    mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community 禁用
    mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - So 禁用
    mysql-connectors-community/x86_64 MySQL Connectors Community 启用: 51
    mysql-connectors-community-source MySQL Connectors Community - Sou 禁用
    mysql-tools-community/x86_64 MySQL Tools Community 启用: 63
    mysql-tools-community-source MySQL Tools Community - Source 禁用
    mysql-tools-preview/x86_64 MySQL Tools Preview 禁用
    mysql-tools-preview-source MySQL Tools Preview - Source 禁用
    mysql55-community/x86_64 MySQL 5.5 Community Server 禁用
    mysql55-community-source MySQL 5.5 Community Server - Sou 禁用
    mysql56-community/x86_64 MySQL 5.6 Community Server 禁用
    mysql56-community-source MySQL 5.6 Community Server - Sou 禁用
    mysql57-community/x86_64 MySQL 5.7 Community Server 禁用
    mysql57-community-source MySQL 5.7 Community Server - Sou 禁用
    mysql80-community/x86_64 MySQL 8.0 Community Server 启用: 17
    mysql80-community-source MySQL 8.0 Community Server - Sou 禁用

    可以看到所有该源支持的软件系列版本,这里默认启用了 MySQL 8.0 Community Server ,而我们需要安装的是 MySQL 5.7 Community Server,因此需要修改源设置:

    vim /etc/yum.repos.d/mysql-community.repo
    
    Shell

    找到:

    [mysql57-community]
    name=MySQL 5.7 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    将 enabled=0 改成 enabled=1 ,再找到:

    [mysql80-community]
    name=MySQL 8.0 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
    enabled=1
    gpgcheck=1

    将 enabled=1 改成 enabled=0 ,保存退出。

    现在查看 MySQL 各个系列默认的版本:

    yum repolist enabled | grep mysql
    
    Shell

    mysql-connectors-community/x86_64 MySQL Connectors Community 51
    mysql-tools-community/x86_64 MySQL Tools Community 63
    mysql57-community/x86_64 MySQL 5.7 Community Server 267

    安装 MySQL 5.7 Community Server:

    yum -y install mysql-community-server
    
    Shell

    查看安装的 MySQL 版本:

    mysqld -V
    
    Shell

    mysqld Ver 5.7.22 for Linux on x86_64 (MySQL Community Server (GPL))

    启动 MySQL 服务:

    systemctl start mysqld
    
    Shell

    设置 MySQL 服务开机启动:

    systemctl enable mysqld
    
    Shell

    查看 MySQL 服务状态:

    systemctl status mysqld
    
    Shell

    ● mysqld.service - MySQL Server
    ​ Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
    ​ Active: active (running) since Mon 2017-10-23 20:53:59 CST; 48s ago
    ​ Docs: man:mysqld(8)
    ​ http://dev.mysql.com/doc/refman/en/using-systemd.html
    Main PID: 25918 (mysqld)
    ​ CGroup: /system.slice/mysqld.service
    ​ └─25918 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

    Oct 23 20:53:52 web systemd[1]: Starting MySQL Server...
    Oct 23 20:53:59 web systemd[1]: Started MySQL Server.

    基本配置

    停止 MySQL 服务:

    systemctl stop mysqld
    
    Shell

    备份 MySQL 主配置文件:

    mv /etc/my.cnf /etc/my.cnf.bak
    
    Shell

    创建并修改新的 MySQL 主配置文件:

    vim /etc/my.cnf
    
    Shell

    插入如下配置:

    # mysqld config
    [mysqld]
    port=3306
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    symbolic-links=0
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    character-set-server=utf8
    
    # mysql config
    [mysql]
    socket=/var/lib/mysql/mysql.sock
    default-character-set=utf8
    
    # client config
    [client]
    socket=/var/lib/mysql/mysql.sock
    default-character-set=utf8
    
    Shell

    保存退出,启动 MySQL 服务:

    systemctl start mysqld
    
    Shell

    初始密码

    第一次启动 MySQL 时,会在日志文件中给 root 用户随机生成一个密码:

    grep 'temporary password' /var/log/mysqld.log
    
    Shell

    2018-04-29T09:49:14.632164Z 1 [Note] A temporary password is generated for root@localhost: 468iGoy*p(DA

    最后面的 468iGoy*p(DA 就是随机密码,使用该随机密码登录 MySQL 控制台:

    mysql -u root -p -h localhost
    
    Shell

    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.7.22

    Copyright (c) 2000, 2018, 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>

    为 root 用户设置新密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';
    
    Mysql

    注意: <password> 为新密码 (推荐 16 位以上,包含符号,大小写字母,数字组合) 。

    如果出错

    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    说明密码强度不够,需更换更高强度密码,成功设置则显示如下:

    Query OK, 0 rows affected (0.00 sec)

    使配置即刻生效:

    FLUSH PRIVILEGES;
    
    Mysql

    退出 MySQL 控制台:

    EXIT;
    
    Mysql

    管理 MySQL

    注意: 每次修改配置之后,需要刷新权限:

    FLUSH PRIVILEGES;
    
    Mysql

    修改路径

    停止 MySQL 服务:

    systemctl stop mysqld
    
    Shell

    创建目标路径:

    mkdir -p /home/db
    
    Shell

    拷贝数据文件及文件权限:

    cp -a /var/lib/mysql /home/db
    
    Shell

    修改 MySQL 主配置文件:

    vim /etc/my.cnf
    
    Shell

    所有的:

    datadir=/var/lib/mysql

    都替换成:

    datadir=/home/db/mysql
    
    Shell

    所有的:

    socket=/var/lib/mysql/mysql.sock

    都替换成:

    socket=/home/db/mysql/mysql.sock
    
    Shell

    保存退出,启动 MySQL 服务:

    systemctl start mysqld
    
    Shell

    服务管理

    查看 MySQL 服务:

    # 查看服务状态信息
    systemctl status mysqld
    # 查看服务是否在运行
    systemctl is-active mysqld
    # 查看服务是否开机启动
    systemctl is-enabled mysqld
    
    Shell

    打开、关闭和重启 MySQL 服务:

    # 打开
    systemctl start mysqld
    # 关闭
    systemctl stop mysqld
    # 重启
    systemctl restart mysqld
    
    Shell

    查看、打开和关闭 MySQL 服务开机启动:

    # 打开 MySQL 服务开机启动
    systemctl enable mysqld
    # 关闭 MySQL 服务开机启动
    systemctl disable mysqld
    
    Shell

    登录管理

    登陆本机的 MySQL:

    mysql -u <user> -p -h localhost
    
    Shell

    用户登出:

    EXIT;
    
    Mysql

    用户管理

    创建用户:

    CREATE USER '<user>'@'<host>' IDENTIFIED BY '<password>';
    
    Mysql

    参数 <host> 可设置为:

    • localhost :用户只能在本机登录;
    • % :通配符,用户可以在任意主机登录;
    • <IP> :用户只能从指定 IP 的主机登录( IP 中可以使用 % 通配符,比如:192.168.100.%)。

    注意: 当需要把一个用的 <host> 设置为 % 时,必需同时创建一个和该用户拥有相同用户名和密码,相同数据库权限的 localhost 的用户,否则该用户可能无法在 localhost 登陆 MySQL。

    修改当前登录的用户密码:

    SET PASSWORD = PASSWORD('<password>');
    
    Mysql

    修改指定用户密码:

    SET PASSWORD FOR '<user>'@'<host>' = PASSWORD('<password>');
    
    Mysql

    删除用户:

    DROP USER '<user>'@'<host>';
    
    Mysql

    查看用户信息:

    SELECT User, Host FROM mysql.user;
    
    Mysql

    仓库管理

    查看数据库列表:

    SHOW DATABASES;
    
    Mysql

    创建数据库:

    CREATE DATABASE <database>;
    
    Mysql

    删除数据库:

    DROP DATABASE <database>;
    
    Mysql

    权限管理

    授权指定用户从指定域访问指定数据库的指定数据表:

    GRANT <privilege> ON <database>.<table> TO '<user>'@'<host>';
    
    Mysql

    参数 <privilege> 可设置为:

    • All :表示所有权限;
    • SELECT / INSERT / UPDATE 等指定权限(多权限用 , 隔开)。

    参数 <database> 可用 * 表示所有数据库。

    参数 <table> 可用 * 表示所有表。

    撤销指定用户从指定域对指定数据的库指定表的权限:

    REVOKE <privilege> ON <database>.<table> FROM '<user>'@'<host>';
    
    Mysql

    MySQL 常用工具

    Workbench

    MySQL Workbench provides DBAs and developers an integrated tools environment for:

    • Database Design & Modeling
    • SQL Development
    • Database Administration
    • Database Migration

    The Community (OSS) Edition is available from this page under the GPL.

    Workbench 是 MySQL 官方提供的 MySQL 管理工具,开源免费,支持全平台。

    下载地址:Download MySQL Workbench

  • 相关阅读:
    UVALive
    训练指南 UVA
    训练指南 UVALive
    Codeforces Round #535 (Div. 3)
    训练指南 UVALive
    训练指南 UVALive
    Codeforces Round #534 (Div. 2)
    Codeforces Round #532 (Div. 2)
    《算法问题实战策略》——chaper9——动态规划法技巧
    《训练指南》——8.3
  • 原文地址:https://www.cnblogs.com/zquan/p/9954892.html
Copyright © 2020-2023  润新知