目 录CONTENT

文章目录

在Linux中用源码安装MySQL

zhouzz
2024-08-30 / 0 评论 / 0 点赞 / 7 阅读 / 7468 字
温馨提示:
本文最后更新于 2024-09-19,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

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

3.小结

0

评论区