MySQL学习笔记(1):安装[亲测有效]

MySQL学习笔记(1):安装[亲测有效]本文更新于2020-05-04。 安装 在Windows下可以采用noinstall包或图形化安装,在Linux下可以采用apt-get/dpkg、yum/rpm、二进制包、源码包安装。 使用apt-

MySQL学习笔记(1):安装

本文更新于2020-05-04。

安装

在Windows下可以采用noinstall包或图形化安装,在Linux下可以采用apt-get/dpkg、yum/rpm、二进制包、源码包安装。

使用apt-get安装

以Deepin 15.9下安装MySQL 5.7为例。

apt-get install mysql-server

代码100分

安装过程无初始化MySQL的root密码提示。登录可采用如下方法之一:

  • 使用操作系统root用户直接使用mysql免密登录。
  • /etc/mysql/debian.cnf中查看组[client]user(如:debian-sys-maint)和password,使用其登录。

登录后修改密码:

代码100分ALTER USER root@localhost
IDENTIFIED WITH mysql_native_password BY "password"

注意,如此修改root@localhost的密码后,mysql.user表中的plugin将从auth_socket变为mysql_native_password,此后能使用密码登录,但不能再用操作系统root用户直接使用mysql免密登录。修改debian-sys-maint@localhost的密码同理。

使用dpkg安装

以Debian 8.6下安装MySQL 5.7为例。

因默认的apt仓库将MySQL相关的包移除,需要自己去官网下载,以及下载相关的依赖包。

因包之间的依赖关系,各dpkg命令必须按序执行。

在安装mysql-community-server时,会提示初始化MySQL的root密码。

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-server_5.7.19-1debian8_amd64.deb-bundle.tar
wget http://ftp.br.debian.org/debian/pool/main/liba/libaio/libaio1_0.3.110-1_amd64.deb
wget http://ftp.br.debian.org/debian/pool/main/m/mecab/libmecab2_0.996-1.1_amd64.deb
wget http://ftp.br.debian.org/debian/pool/main/n/numactl/libnuma1_2.0.10-1_amd64.deb

dpkg -i libaio1_0.3.110-1_amd64.deb
dpkg -i libmecab2_0.996-1.1_amd64.deb
dpkg -i libnuma1_2.0.10-1_amd64.deb

mkdir mysql
tar -xv -C mysql -f mysql-server_5.7.19-1debian8_amd64.deb-bundle.tar
cd mysql
dpkg -i mysql-common_5.7.19-1debian8_amd64.deb
dpkg -i mysql-community-client_5.7.19-1debian8_amd64.deb
dpkg -i mysql-client_5.7.19-1debian8_amd64.deb
dpkg -i mysql-community-server_5.7.19-1debian8_amd64.deb

使用rpm安装

以CentOS 7.5下安装MySQL 8.0为例。

卸载MariaDB

yum服务器上移除了MySQL相关的软件包。CentOS7默认安装MariaDB相关的库,可能会与MySQL冲突,先将其卸载。

  1. 查看已安装的MariaDB相关rpm包。

    代码100分rpm -qa | grep mariadb
    
  2. 查看已安装的MariaDB相关yum包,包名需根据rpm命令的结果判断。

    yum list mariadb-libs
    
  3. 移除已安装的MariaDB相关yum包,包名需根据yum list命令的结果判断。

    yum remove mariadb-libs
    

安装MySQL

下面安装时如缺少Perl相关的包,执行yum install -y perl-Module-Install

因包之间的依赖关系,各rpm命令必须按序执行。

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar

mkdir mysql
tar -xv -C mysql -f mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar
cd mysql
rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm

初始化密码

  1. 启动MySQL服务,第一次启动时会初始化数据目录/var/lib/mysql

    service mysqld start
    
  2. 使用初始化后root@localhost的临时密码登录,临时密码记录在/var/log/mysql.log,其中有一行:“A temporary password is generated for root@localhost:”。

  3. 修改root@localhost的密码,密码必须足够复杂,如包含大写、小写、数字、符号。

    ALTER USER root@localhost
    IDENTIFIED WITH mysql_native_password BY "password"
    

修改密码认证插件

MySQL 8.0.4开始使用caching_sha2_password密码认证插件,很多旧版的客户端都不支持,为了后向兼容可修改为mysql_native_password。如不需修改,跳过此步骤。

在MySQL配置文件/etc/my.cnf[mysqld]组中增加一行(配置文件本身带有这一行,只需把注释符去掉):default_authentication_plugin=mysql_native_password。然后重启MySQL服务。

同时,需修改用户使用的密码认证插件(如该用户不会在旧版客户端登录,则可忽略此步骤):

ALTER USER user@host
IDENTIFIED WITH mysql_native_password BY "password"

或在创建用户时:

CREATE USER user@host
IDENTIFIED WITH mysql_native_password BY "password"

服务启动、停止、重启、状态查看

Linux下的MySQL服务名为mysqlmysqld,以mysql为例。

  • 启动:service mysql startsystemctl start mysql
  • 停止:service mysql stopsystemctl stop mysql
  • 重启:service mysql restartsystemctl restart mysql
  • 状态查看:service mysql statussystemctl status mysql

Linux下的文件布局

安装后默认的文件布局如下:

  • /etc/mysql/:配置文件目录。
  • /usr/bin/:客户端程序和脚本目录。
  • /usr/sbin/:mysqld服务器目录。
  • /usr/share/doc/:文档目录。
  • /usr/include/mysql/:包含(头)文件目录。
  • /usr/lib/mysql/:库文件目录。
  • /usr/share/mysql/:错误消息和字符集文件目录。
  • /usr/share/sql-bench/:基准程序目录。
  • /var/lib/mysql/:日志文件(错误日志除外)和数据库文件目录。
  • /var/log/mysql/:错误日志文件目录。

默认数据库

  • information_schema:数据库元数据信息。这是一个虚拟数据库,并不存在于磁盘中。
    • CHARACTER_SETS:所有字符集。
    • COLLATIONS:所有字符集校对规则。
    • COLUMNS:所有列的信息。
    • INNODB_LOCKS:所有的InnoDB锁。
    • INNODB_LOCK_WAITS:所有InnoDB锁的等待。
    • OPTIMIZER_TRACE:优化器trace结果。
    • PARTITIONS:所有分区的信息。
    • PROFILING:所有profiling的信息。
    • ROUTINES:所有存储过程和函数的信息。
    • SCHEMATA:所有数据库的信息。
    • STATISTICS:所有索引的信息。
    • TABLES:所有表的信息。
    • TRIGGERS:所有触发器的信息。
    • VIEWS:所有视图的信息。
  • mysql:用户权限和MySQL运行所需的信息。
    • columns_priv:列权限。
    • db:数据库权限。
    • tables_priv:表权限。
    • user:用户权限。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7880.html

(0)
上一篇 2023-03-12
下一篇 2023-03-12

相关推荐

  • 用Python编写快速的数据分析程序

    用Python编写快速的数据分析程序在当今数字时代,数据分析已成为一项十分重要的技能,它使得企业能够挖掘内部和外部的重要信息,并为企业提供决策支持。数据分析可以使得企业掌握消费者的购买能力,评估产品和服务的效果,确立最佳的营销战略。随着今天的技术发展,数据分析变得更加简单和快速,Python编程语言是数据分析的主要工具之一。

    2024-02-23
    129
  • wireshark 无法抓取mysql 请求的问题解决「终于解决」

    wireshark 无法抓取mysql 请求的问题解决「终于解决」听同事说 wireshark也可以抓取mysql请求 比较兴奋 想试一下 但是无论怎么设置 都抓不到 渐渐抓狂 百度和谷歌 搜索了半天 也没有找到原因 甚至都没有人遇到类似的问题 最后还是靠自己 找…

    2023-04-16
    142
  • 用Python自加一

    用Python自加一在Python中,我们可以通过给列表添加一个新元素来实现列表加一个数。首先,我们需要定义一个列表:

    2024-05-15
    78
  • Oracle 12c RAC 安装文档「终于解决」

    Oracle 12c RAC 安装文档「终于解决」博客园 首页 新随笔 联系 管理 订阅 随笔- 91 文章- 0 评论- 11 Oracle 12c RAC 安装文档 参考文档: https://docs.oracle.com/en/databa…

    2023-03-19
    148
  • 进入hive命令_hadoop怎么进入hive

    进入hive命令_hadoop怎么进入hive[root@node01 apache-hive-2.1.1-bin]# bin/hiveSLF4J: Class path contains multiple SLF4J bindings.SLF4

    2023-03-05
    169
  • Python中dict.fromkeys的使用方法

    Python中dict.fromkeys的使用方法codedict.fromkeys(keys[, value])/code是Python字典(dict)类中的一个静态方法,用于创建并返回一个新的字典,其中包含指定键序列(keys)中所有键的键值,默认的键值是None。

    2024-04-04
    86
  • Python List Values应用与示例

    Python List Values应用与示例Python列表是一种可变的数据类型,可以存储任意数量和类型的元素,用方括号([])表示,元素之间用逗号(,)分隔。

    2024-02-12
    86
  • 计算圆周率平方根的Python函数

    计算圆周率平方根的Python函数圆周率是一个常数,代表圆的周长与直径之比,通常用数学符号π来表示。圆周率是数学中的常数之一,在科学、工程等领域有着广泛的应用。

    2024-02-23
    111

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注