1.下载
在官网下载 mysql-8.0.32-1.el7.x86_64.rpm
MySQL官网:https://www.mysql.com/
2.安装
2.1 上传
将 mysql 安装包上传到 linux的 /usr/local/soft
。
2.2 查看mariadb安装包
# rpm -qa | grep mariadb
MariaDB数据库管理系统是MySQL的一个分支,这个和要安装的MySQL有冲突。
卸载mariadb
# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
再次查看mariadb安装包,确保mariadb已卸载。
2.3 解压MySQL安装包
# mkdir /usr/local/mysql
# tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql
2.4 安装MySQL其它安装包
# rpm -ivh mysql-community-common-8.0.32-1.el7.x86_64.rpm --nodeps --force
# rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm --nodeps --force
# rpm -ivh mysql-community-client-8.0.32-1.el7.x86_64.rpm --nodeps --force
# rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm --nodeps --force
查看MySQL其它安装包
# rpm -qa | grep mysql
2.5 初始化数据库
在 /usr/local/mysql
目录下
# mysqld --initialize
2.6 修改mysql权限
在 /usr/local/mysql
目录下
# chown -R mysql:mysql /var/lib/mysql
2.7 启动MySQL数据库服务
在 /usr/local/mysql
目录下
# systemctl start mysqld.service
设置开机自启动MySQL服务
# systemctl enable mysqld
2.8 进入MySQL数据库登录页面
查看安装MySQL初始化密码
# cat /var/log/mysqld.log | grep password
2024-08-29T16:14:28.221849Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: aEFPT&;A3ja/
在 /usr/local/mysql
目录下,
# mysql -uroot -p
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
第一次使用将会提示修改mysql的root用户密码
修改MySQL密码
# alter user 'root'@'localhost' identified by '123456';
授权远程访问MySQL服务
在 MySQL 8.0.32 版本中,如果您想要为 'root' 用户设置密码并使用 mysql_native_password 身份验证插件,可以使用以下语句:
mysql> create user 'root'@'%' identified with mysql_native_password by 'root';
请注意,这里的密码是 root
,你可以根据需要更改密码。
注意:修改远程访问密码
mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
您可以使用以下语句授予给 'root' 用户在 MySQL 8.0.32 中的所有权限,
并使用 WITH GRANT OPTION 选项允许用户对其他用户进行授权:
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
这将授予 'root' 用户在所有数据库和所有表上的所有权限,并具有对其他用户进行授权的能力。
刷新权限
mysql> flush privileges;
退出MySQL
mysql> exit;
2.9 防火墙设置
关闭防火墙firewall
# systemctl stop firewalld.service;
# systemctl disable firewalld.service;
# systemctl mask firewalld.service;
"systemctl mask firewalld.service" 命令的意思是将 firewalld.service 单元设置为屏蔽状态。 屏蔽一个服务单元意味着该服务将无法被启动,也无法被开机自启动。屏蔽 firewalld.service 单元通常是为了使用其他防火墙软件,或者是不需要防火墙功能,因此将其屏蔽以减少资源消耗。注意,屏蔽 firewalld.service 单元后,防火墙功能将无法正常工作。
或者不关闭防火墙,开放MySQL的3306
端口即可
# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# firewall-cmd --reload
评论区