停止 MySQL 服务:在删除文件之前,确保 MySQL 服务已停止。使用以下命令停止 MySQL 服务:
sudo systemctl stop mysql
如果您使用的是自定义服务名称,可能需要将 mysql
替换为相应的服务名称。
删除 MySQL 用户和组:如果在安装过程中创建了专用的 MySQL 用户和组,可以使用以下命令将它们删除:
sudo userdel mysql
sudo groupdel mysql
删除 MySQL 数据目录:MySQL 数据目录通常包含数据库文件、日志和配置文件。根据您的便携版安装位置,使用以下命令删除数据目录:
sudo rm -rf /path/to/mysql/data/directory
请确保您在删除数据目录之前备份了所有重要数据。
删除 MySQL 二进制文件:删除 MySQL 安装目录及其内容。根据您的便携版安装位置,使用以下命令删除 MySQL 安装目录:
sudo rm -rf /path/to/mysql/installation/directory
更新系统环境变量:如果您在系统环境变量(如 PATH
和 LD_LIBRARY_PATH
)中添加了 MySQL 相关路径,您需要从相应的配置文件(如 ~/.bashrc
、~/.bash_profile
或 /etc/profile
)中删除它们。完成更改后,重新加载配置文件以使更改生效:
source ~/.bashrc
删除 MySQL 服务文件:如果您创建了 MySQL 系统服务(如 /etc/systemd/system/mysql.service
),使用以下命令删除服务文件:
sudo rm /etc/systemd/system/mysql.service
然后,使用以下命令重新加载系统服务:
sudo systemctl daemon-reload
完成上述步骤后,您已成功卸载了 MySQL 8 便携版。如果您还需要卸载其他与 MySQL 相关的配置文件或日志,请根据您的系统设置手动删除它们。
注意:选择版本需要根据操作系统的函数库,
ldd --version
命令可以查看当前Linux系统的函数库,不能选择超过当前系统函数库版本的软件
两种方式
1、进入官网 https://dev.mysql.com/downloads/mysql/
上图显示第一个是二进制源码包,第二个是二进制测试包,第三个是源码包。我们选择第一个二进制版本的mysql是已经编译好的,无需 configure ,make make install 等步骤,只需配置一下即可使用,卸载也方便,直接删除即可。可以自行调整编译参数,最大化地定制安装结果。
下载之后,通过ssh工具sftp/ftp方式上传到你服务器centos7指定的目录即可/usr/local/
2、在你要放置安装包的目录下执行命令:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.12-x86_64.tar.gz
可以修改https://dev.mysql.com/get/Downloads/MySQL-8.0/
之后的内容来指定版本,可以到官网查看版本
使用命令解压与移动:
tar -xJvf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz \
&& mv ./mysql-8.0.33-linux-glibc2.12-x86_64 \
/usr/local/mysql-8.0.33-linux-glibc2.12-x86_64 \
&& cd /usr/local/
ln -s /usr/local/mysql-8.0.33-linux-glibc2.12-x86_64 ./mysql8
为了提高安全性,最好使用专门的系统用户和组来运行 MySQL。创建名为 mysql
的用户和组:
groupadd mysql && \
useradd -r -g mysql mysql
cat /etc/group # 查看组
cat /etc/passwd # 查看用户
将 MySQL 安装目录的所有权更改为新创建的 mysql
用户和组:
chown -R mysql:mysql /usr/local/mysql-8.0.33-linux-glibc2.12-x86_64/
创建用于初始化mysql数据库时my.cnf配置文件
默认读取配置文件的顺序:
Default options are read from the following files in the given order:
1. /etc/my.cnf 2./etc/mysql/my.cnf 3./usr/local/mysql/etc/my.cnf 4.~/.my.cnf
在 /etc
目录下创建一个名为 my.cnf
的 MySQL 配置文件,并添加以下内容:
[mysqld]
# 设置mysql的安装目录
basedir=/usr/local/mysql8
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql8/data
socket=/usr/local/mysql8/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 服务端使用的字符集默认为8比特编码
character-set-server=utf8mb4
[mysqld_safe]
log-error=/usr/local/mysql8/data/mysqld.log
pid-file=/usr/local/mysql8/data/mysqld.pid
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
port=3306
socket=/usr/local/mysql8/mysql.sock
使用 mysqld
命令初始化 MySQL 数据库:
cd /usr/local/mysql8
sudo -u mysql bin/mysqld --initialize
初始化过程将生成一个临时密码。请记下这个密码,稍后您需要用它登录 MySQL 并修改密码。
注意:sudo -u 用户 ——作用是以指定用户或 ID 运行命令(或编辑文件)
创建一个名为 mysql.service
的文件,并将其放置在 /etc/systemd/system
目录下。在文件中添加以下内容:
sudo vim /etc/systemd/system/mysql.service
在该文件中添加以下内容:
[Unit]
Description=MySQL Community Server
After=network.target
[Service]
Type=simple
User=mysql
Group=mysql
ExecStart=/usr/local/mysql8/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql
ExecStop=/usr/local/mysql8/bin/mysqladmin -u root -pYOUR_ROOT_PASSWORD shutdown
PIDFile=/usr/local/mysql8/data/mysqld.pid
TimeoutStartSec=300
Restart=always
RestartSec=5
StartLimitInterval=0
[Install]
WantedBy=multi-user.target
保存并退出文件编辑。
YOUR_ROOT_PASSWORD填写root账户的密码
现在,您需要重新加载系统服务以使更改生效:
sudo systemctl daemon-reload
启动 MySQL 服务并设置为开机启动:
sudo systemctl start mysql
sudo systemctl enable mysql
要检查 MySQL 服务的状态,可以使用以下命令:
sudo systemctl status mysql
如果一切正常,您应该看到类似于以下输出的内容:
● mysql.service - MySQL Community Server
Loaded: loaded (/etc/systemd/system/mysql.service; enabled; vendor preset: disabled)
Active: active (running) since ...
将 MySQL 二进制文件路径添加到系统环境变量中。在 /etc/profile
文件的末尾添加以下内容:
export PATH=$PATH:/usr/local/mysql8/bin
保存并退出文件编辑。然后,使用以下命令重新加载配置文件以使更改生效:
source /etc/profile
使用临时密码登录 MySQL:
mysql -u root -p
输入临时密码并按 Enter 键。登录成功后,修改 root 用户的密码。将 your_new_password
替换为您选择的新密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
完成以上步骤后,您已成功在 CentOS 7 系统上安装了 MySQL 8 便携版。现在您可以开始使用 MySQL 数据库进行各种操作。
要允许远程连接到 MySQL 服务器并开放端口,请按照以下步骤操作:
登录到 MySQL 服务器:
mysql -u root -p
输入 root 密码并按 Enter 键。
为 root 用户授予远程访问权限。将 your_new_password
替换为您选择的新密码:
CREATE USER 'root'@'%' IDENTIFIED BY 'your_new_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
这将创建一个 root 用户,允许从任何 IP 地址连接,并为其分配完全访问权限。请注意,这种配置在生产环境中可能存在安全风险。在生产环境中,建议创建一个具有特定权限的单独用户,而不是为 root 用户授予全局权限。
退出 MySQL:
exit;
如果您的服务器有防火墙(例如 firewalld),请确保开放 3306 端口:
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
现在,您应该能够从远程客户端使用数据库工具(如 MySQL Workbench、DBeaver 或其他)连接到 MySQL 服务器。在连接时,请使用服务器的 IP 地址或主机名以及您创建的 root 用户和密码。
firewall-cmd
是 firewalld
的命令行界面,用于管理 Linux 系统上的防火墙规则。以下是一些常用的 firewall-cmd
命令:
查看默认区域:
sudo firewall-cmd --get-default-zone
列出默认区域的所有规则:
sudo firewall-cmd --list-all
如果要列出特定区域的规则,可以使用 --zone
选项,例如:
sudo firewall-cmd --zone=public --list-all
添加端口:
为默认区域永久添加端口(例如,开放 TCP 端口 3306):
sudo firewall-cmd --permanent --add-port=3306/tcp
若要为特定区域添加端口,请使用 --zone
选项,例如:
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
查看开放了哪些端口
sudo firewall-cmd --list-ports
如果您要查看特定区域的开放端口,请使用 --zone
选项。例如,要查看 public
区域的开放端口,请执行:
sudo firewall-cmd --zone=public --list-ports
删除端口:
从默认区域永久删除端口(例如,关闭 TCP 端口 3306):
sudo firewall-cmd --permanent --remove-port=3306/tcp
若要从特定区域删除端口,请使用 --zone
选项,例如:
sudo firewall-cmd --permanent --zone=public --remove-port=3306/tcp
重新加载防火墙规则:
应用永久规则更改,重新加载防火墙配置:
sudo firewall-cmd --reload
添加服务:
为默认区域永久添加服务(如开放 HTTP 服务):
sudo firewall-cmd --permanent --add-service=http
若要为特定区域添加服务,请使用 --zone
选项,例如:
sudo firewall-cmd --permanent --zone=public --add-service=http
删除服务:
从默认区域永久删除服务(如关闭 HTTP 服务):
sudo firewall-cmd --permanent --remove-service=http
若要从特定区域删除服务,请使用 --zone
选项,例如:
sudo firewall-cmd --permanent --zone=public --remove-service=http
这些命令应该涵盖了管理端口和服务的基本需求。更多详细信息,请参阅 firewalld 文档 和 man firewall-cmd
。
Linux 安装mysql8详细教程
linux下安装mysql8_linux)