下载mysql
输入官方社区版下载网站:https://dev.mysql.com/downloads/
进入到一下界面
选择之后点击下载mysql
上传并解压软件包到系统
这边上传到linux服务器用什么软件看自己的情况我这边用的xftp将文件上传到/usr/local文件夹里
解压文件并重命名为mysql
执行
tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
解压后改名为mysql
4.根据官网文档完成安装(以下是我从官网文档复制过来的)
警告
如果您以前使用您的操作安装了 MySQL 系统原生包管理系统,如 Yum 或 APT, 使用本机二进制文件进行安装时可能会遇到问题。 确保您以前的MySQL安装已被删除 完全(使用您的包管理系统),并且任何 其他文件,例如数据文件的旧版本, 也被删除了。您还应该检查 配置文件,如或目录和删除 他们。/etc/my.cnf/etc/mysql
有关将第三方软件包替换为 官方 MySQL 软件包,参见相关 APT 指南或百胜 指南。
MySQL依赖于库。数据目录初始化和后续服务器 如果未在本地安装此库,则启动步骤将失败。 如有必要,请使用适当的软件包进行安装 经理。例如,在基于 Yum 的系统上:libaio
$> yum search libaio# search for info$> yum install libaio# install library
或者,在基于 APT 的系统上:
$> apt-cache search libaio# search for info$> apt-get install libaio1# install library
Oracle Linux 8 / Red Hat 8 (EL8):默认情况下,这些平台不安装文件,这是必需的 由 MySQL 客户端 bin/mysql 用于包和 . 要变通解决此问题,请安装软件包:/lib64/libtinfo.so.5mysql-VERSION-el7-x86_64.tar.gzmysql-VERSION-linux-glibc2.12-x86_64.tar.xzncurses-compat-libs
$> yum install ncurses-compat-libs
安装压缩的 tar 文件二进制文件 分发,在您选择的安装位置打开包装 (通常)。这将创建 下表中显示的目录。/usr/local/mysql
表 2.3 通用 Unix/Linux 二进制包的 MySQL 安装布局
目录 | 目录目录 |
bin | MySQLd服务器,客户端和实用程序 |
docs | 信息格式的 MySQL 手册 |
man | Unix 手册页 |
include | 包括(头)文件 |
lib | 图书馆 |
share | 用于数据库安装的错误消息、字典和 SQL |
support-files | 杂项支持文件 |
mysqld 二进制文件的调试版本可用 作为 mysqld-debug。编译自己的调试 源代码分发版中的 MySQL 版本,使用适当的 用于启用调试支持的配置选项。请参见第 2.8 节 “从源代码安装 MySQL”。
要安装和使用 MySQL 二进制发行版,命令序列 看起来像这样:
$> groupadd mysql
$> useradd-r-g mysql -s /bin/false mysql
$> cd /usr/local
$> tar xvf /path/to/mysql-VERSION-OS.tar.xz
$> ln-sfull-path-to-mysql-VERSION-OS mysql
$> cd mysql
$> mkdir mysql-files
$> chown mysql:mysql mysql-files
$> chmod 750 mysql-files
$> bin/mysqld--initialize--user=mysql$> bin/mysql_ssl_rsa_setup$> bin/mysqld_safe--user=mysql &
# Next command is optional$> cp support-files/mysql.server /etc/init.d/mysql.server
注意
此过程假定您具有对系统的(管理员)访问权限。或者,您可以 使用 sudo (Linux) 或 pfexec (Solaris) 命令为每个命令添加前缀。root
5.安装依赖库
分别执行这两个指令
yum search libaio
yum install libaio
再执行
yum install ncurses-compat-libs
6.添加用户、设置权限
依次执行以下指令
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cd /usr/local
cd mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
7.初始化数据库
bin/mysqld --initialize --user=mysql
有的人可能会出现这个问题:
执行bin/mysqld --initialize --user=mysql报以下错误
[System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.32) initializing of server in progress as process 9477
[ERROR] [MY-013276] [Server] Failed to set datadir to '/usr/local/mysql/data/' (OS errno: 13 - Permission denied)
[ERROR] [MY-013236] [Server] The designated data directory /usr/local/mysql/data/ is unusable. You can remove all files that the server added to it.
[ERROR] [MY-010119] [Server] Aborting
[System] [MY-010910] [Server] /usr/local/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.32) MySQL Community Server - GPL.
这个错误提示是无法设置MySQL的数据目录,原因是没有足够的权限。可以使用sudo命令来以超级管理员身份运行mysqld命令,并确保指定的数据目录存在并且有足够的权限。例如,如果你想要将数据目录设置为/usr/local/mysql/data/,可以尝试以下命令:
sudo mkdir -p /usr/local/mysql/data/
sudo chown -R mysql:mysql /usr/local/mysql/
其中,第一行命令创建数据目录,第二行命令将目录所有者更改为mysql用户和组(确保你已经创建了mysql用户和组)
8.安装ssl证书
注意:这里需要mysql目录下执行
bin/mysql_ssl_rsa_setup
9.复制服务文件
cp support-files/mysql.server /etc/init.d/mysql.server
10.开启服务
bin/mysqld_safe --user=mysql &
11.使用root用户登录并更改root用户密码
登录
bin/mysql -uroot -p
这边是要用到上面的初始化密码,这边登录进去了但提示我们必须重置密码
修改密码,并设置为任意IP与第三方客户端可登录
# 修改root的密码与加密方式
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;
# 切换到mysql库
use mysql;
# 更改可以登录的IP为任意IP
update user set host='%' where user = 'root';
# 刷新权限
flush privileges;
# 再次更改root用户密码,使其可以在任意IP访问
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
# 刷新权限
flush privileges;
修改root的密码与加密方式(提示没重置密码什么都执行不了)
切换到mysql库并查询访问权限(发现只能本机)
select host,user from user;
更改可以登录的IP为任意IP和刷新权限
再次更改root用户密码,使其可以在任意IP访问
更改好之后,退出,并使用新密码重新登录,数据库便可以使用了!