MySQL安装记录

安装

官方文档:https://dev.mysql.com/doc/refman/8.4/en/installing.html

Linux

离线安装

https://dev.mysql.com/downloads/

CentOS8 Stream安装MySQL8.0.17

这里以CentOS8 Stream系列为例

下载 RPM Bundle这个,这个是最全的,但是也包含了一些可能用不到的包
在这里插入图片描述

通过tar命令解压后,包含下面这些rpm包
[root@localhost mysql_learn]# tar -xvf mysql-8.0.17-1.el8.x86_64.rpm-bundle.tar
mysql-community-server-debug-debuginfo-8.0.17-1.el8.x86_64.rpm
mysql-community-server-debuginfo-8.0.17-1.el8.x86_64.rpm
mysql-community-debugsource-8.0.17-1.el8.x86_64.rpm
mysql-community-libs-8.0.17-1.el8.x86_64.rpm
mysql-community-server-debug-8.0.17-1.el8.x86_64.rpm
mysql-community-test-8.0.17-1.el8.x86_64.rpm
mysql-community-test-debuginfo-8.0.17-1.el8.x86_64.rpm
mysql-community-server-8.0.17-1.el8.x86_64.rpm
mysql-community-client-8.0.17-1.el8.x86_64.rpm
mysql-community-libs-debuginfo-8.0.17-1.el8.x86_64.rpm
mysql-community-devel-8.0.17-1.el8.x86_64.rpm
mysql-community-common-8.0.17-1.el8.x86_64.rpm
mysql-community-debuginfo-8.0.17-1.el8.x86_64.rpm
mysql-community-client-debuginfo-8.0.17-1.el8.x86_64.rpm

通过rpm -ivh ./*.rpm批量安装多个rpm包
在这里插入图片描述

如果有依赖缺失问题,可参考下面的方案安装缺失的依赖后再重新安装

pkgconfig(openssl) is needed by mysql-community-devel-8.0.17-1.el8.x86_64
缺少openssl-devel这个包,可通过yum install openssl-devel -y进行安装

可能会有perl相关的依赖缺失,可以先安装perl,yum install perl

perl(JSON) is needed by mysql-community-devel-8.0.17-1.el8.x86_64
缺少perl-JSON这个包,yum install perl-JSON -y进行安装

systemctl start mysqld或者service start mysqld
在这里插入图片描述
查看mysql配置文件/etc/my.cnf的错误日志存放位置
在这里插入图片描述
从第一行ERROR开始看:
2024-09-23T14:25:06.034602Z 1 [ERROR] [MY-012530] [InnoDB] Unknown redo log format (4). Please follow the instructions at http://dev.mysql.com/doc/refman/8.0/en/ upgrading-downgrading.html.

因为我操作的机器上之前装过8.0.18版本的mysql,之前建的表还在,所以报了格式不兼容问题

于是我删除/var/lib/mysql目录,重新启动systemctl start mysqld,会重新生成/var/lib/mysql目录及相应文件,此时就可以启动成功了

安装指定版本

如果要安装指定版本的mysql,可以在下面这个界面选择 MySQL Community Server
在这里插入图片描述
然后选择Archives
在这里插入图片描述
然后进入下面这个页面
在这里插入图片描述
还是下载RPM包,然后按离线安装方式进行安装即可

Ubuntu 21.04 LTS安装mysql5.7

操作环境:VMWare虚拟机,Ubuntu Server 21.04 LTS

选择以下版本安装:
在这里插入图片描述
我只下载了下面几个
在这里插入图片描述
2.然后通过共享目录传到虚拟机里,切到安装包所在的路径,通过dpkg安装即可
sudo dpkg -i my*
如果出现依赖缺失错误,如下图所示
在这里插入图片描述
再执行命令:sudo apt -f install
然后就弹出设置root用户密码(123456),设置完后就安装完成了
3.登进去查看版本:mysql -uroot -p123456
在这里插入图片描述

在线安装

在线安装这种方式,不同的包管理器需要不同的仓库地址

官方一般只会维护一个最新版本的地址,如果要下载指定版本的,只能到处找可用的地址了

在这里插入图片描述
可以把鼠标放到这个超链接上,拿到其访问的地址
在这里插入图片描述
得到下面这个地址:https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm,这个是最新的版本

有了这个地址,可以在服务器上通过curl,将其下载到服务器

安装指定版本

如果想下载指定版本,必须知道mysql各版本的yum仓库文件地址,但是目前好多都失效了

以下命令将启用安装 MySQL 所需的 yum 存储库
rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm

安装MySQL 8 的指定版本,可以执行命令
yum --enablerepo=mysql80-community install mysql8.0.X
比如要安装8.0.17版本,执行

yum --enablerepo=mysql80-community install mysql*8.0.17*

报如下错误:
在这里插入图片描述
尝试通过:yum install mysql-community-server-8.0.17-1.el8.x86_64进行安装,但是失败了,提示没有这个包
[root@localhost ~]# yum install mysql-community-server-8.0.17-1.el8.x86_64
Last metadata expiration check: 3:58:47 ago on Mon 23 Sep 2024 04:50:12 AM EDT.
No match for argument: mysql-community-server-8.0.17-1.el8.x86_64
Error: Unable to find a match: mysql-community-server-8.0.17-1.el8.x86_64

Windows

Windows安装就不再赘述了,网上有很多文章讲解,一般就是下载exe文件或者msi文件,然后通过安装程序操作即可

配置文件

linux版本安装配置文件路径位于/etc/my.cnf或者/etc/my.cnf.d/server.cnf

可以通过mysql --help | grep my.cnf来进行查看
[root@localhost ~]# mysql --help | grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf

密码问题

密码可以在/var/log/mysqld.log文件中找到,会生成一个临时密码
在这里插入图片描述

使用这个密码登入mysql,第一次登录在执行操作前需要重置密码

mysql> select @@version;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

可通过ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';修改密码

如果碰到ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
自定义密码太简单,出现了不符合密码策略的问题

修改之后,要执行flush privileges;这条sql修改的密码才能生效

如果遇到
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
此时修改策略,及密码长度
set global validate_password_policy=0;
set global validate_password_length=1;

validate_password_policy取值
0 or LOW 只验证长度
1 or MEDIUM 验证长度、数字、大小写、特殊字符
2 or STRONG 验证长度、数字、大小写、特殊字符、字典文件

如果遇到
ERROR 1193 (HY000): Unknown system variable ‘validate_password_policy’
这是因为validate_password插件默认是没有激活的

可以通过install plugin validate_password soname 'validate_password.so';这条sql安装该插件,但是执行sql前需要修改密码,因此只能先设置一个符合要求的密码,然后再安装插件

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
Empty set (0.00 sec)

mysql> install plugin validate_password soname 'validate_password.so';
Query OK, 0 rows affected, 1 warning (0.01 sec)


mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
| validate_password_check_user_name    | ON     |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
14 rows in set (0.01 sec)

插件安装完后就可以继续修改密码了

卸载

一般有些Linux发行版会自带mariadb的依赖,可以安装前先清除这个依赖
sudo yum remove mariadb mysql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值