mysql -uroot -p -e_MySQL学习笔记-01入门及安装

本文档详细介绍了MySQL 8.0的安装过程,包括通用二进制包和RPM包两种方式。内容涵盖下载、依赖安装、创建用户、配置环境变量、初始化数据目录、配置文件my.cnf的设置以及启动服务。此外,还涉及添加远程访问权限、配置防火墙以及MySQL工具的简介。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL是最流行的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。其官网地址如下:MySQL官网

MySQL是一个典型的关系型数据库,

(1)数据结构化存储在二维表中。

(2)支持事务的原子性 A,一致性 C,隔离性 I,持久性 D 特性。

(3)支持使用SQL语言对存储在其中的数据进行操作。

MySQL有两种安装方式:源码包安装,二进制包安装。这几种方式各有特色:二位制包安装不需编译,针对不同的平台有经过优化编译的不同的二进制文件以及包格式,安装简单方便;源码包则必须先配置编译再安装,可以根据你所用的主机环境进行优化,选择最佳的配置值,安装定制更灵活。

二进制包又分针对不同Linux的RPM包和通用二进制包安装。下面都分别进行讲解:

1 通用二进制版本安装

1.1 版本下载

首先登录如下地址:https://downloads.mysql.com/,按照下图所示下载安装包。

49c9435bef20

i二进制包下载

1.2 安装前准备工作

1.2.1 检查卸载以前版本(RPM安装包卸载)

检查MySQL及相关RPM包,是否安装,如果有安装,则移除相关文件及配置文件。

# 检查并删除安装的rpm包

rpm -qa | grep -i mysql

yum -y remove 包名 或者 rpm -e 包名 --nodeps (nodeps为不考虑依赖,根据情况确定是否添加)

rpm -e mysql57-community-release-el7-9.noarch

rpm -e mysql-community-server-5.7.17-1.el7.x86_64

rpm -e mysql-community-libs-5.7.17-1.el7.x86_64

rpm -e mysql-community-libs-compat-5.7.17-1.el7.x86_64

rpm -e mysql-community-common-5.7.17-1.el7.x86_64

rpm -e mysql-community-client-5.7.17-1.el7.x86_64

# 删除老版本mysql的开发头文件和库

rm -fr /usr/lib/mysql

rm -fr /usr/include/mysql

# 卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

rm -f /etc/my.cnf

rm -fr /var/lib/mysql

# 清除剩余

whereis mysql

mysql: /usr/bin/mysql /usr/lib64/mysql /usr/local/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

# 删除上面的文件夹

# 删除配置

rm -rf /usr/my.cnf

rm -rf /root/.mysql_sercret

# 剩余配置检查

chkconfig --list | grep -i mysql

chkconfig --del mysqld

# 根据上面的列表,删除 ,如:mysqld

1.2.2 linux依赖安装

yum search libaio # search for info

yum install libaio # install library

1.2.3 创建mysql用户和用户组

mysql用户不做登录,只用于权限控制

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

1.2.4 解压二进制文件并配置环境变量

cd /usr/local

tar xvf /root/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz

ln -s mysql-8.0.23-linux-glibc2.12-x86_64/ mysql

# 修改/etc/profile并配置环境变量

vi /etc/profile #在文件最后,添加 export PATH=$PATH:/usr/local/mysql/bin。退出保存

source /etc/profile

1.2.5 创建数据文件夹

cd /usr/local/mysql

mkdir /data/mysql

ln -s /data/mysql data

chown mysql:mysql data

chmod 750 data

1.3 安装

1.3.1 初始化数据目录

使用mysqld加参数的方式,进行数据库初始化,如:bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/。

[root@VM-0-7-centos bin]# ./mysqld --initialize --user=mysql

2021-02-09T05:16:45.700203Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.

2021-02-09T05:16:45.700373Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.23-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.23) initializing of server in progress as process 17629

2021-02-09T05:16:45.777940Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.

2021-02-09T05:16:49.185193Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.

2021-02-09T05:16:53.428224Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: DG_Rgwa!9u>_

[root@VM-0-7-centos bin]#

参数说明

--initialize

生成root密码,但是是过期的,第一次登陆时需要修改。登录命令:mysql -u root -p 登录时输入密码,而密码在初始化的过程中在日志中查询,上述日志中如DG_Rgwa!9u>_,并修改密码。

--initialize-insecure

不生成root密码,登录时使用命令:mysql -u root --skip-password 跳过密码登录,并在登录后立即修改密码: ALTER USER 'root'@'localhost' IDENTIFIED BY &#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值