Linux安装mysql

# 首先检查是否已经安装过mysql
rpm -qa | grep mysql

1、下载Linux版本安装包

采用MySQL的社区版本(MySQL Community Server 8.0.34)Linux系统版本采用CentOS7 64位

官网 下载地址

2、上传安装包

通过Tabby Terminal的SFPT上传到服务器 上传至/usr/local

3、解决文件

解压tar文件到mysql文件中

# 创建目录
mkdir -p /usr/local/mysql
# 解压文件
tar -xvf mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar -C mysql

4、安装之前需要检测环境

先检测CentOS中自带的一个mariadb库,需要先卸载了才能安装,因为它与mysql会存在冲突。先用管道筛选一下

# 1、筛选mariadb是否存在
rpm -qa | grep mariadb
# 2、如果存在-强制卸载
rpm -e --nodeps mariadb-libs
# 3、安装之前需要先安装一个依赖
yum install openssl-devel

5、安装mysql的安装包

安装rpm包需要根据先后顺序依次进行,它自己是不会处理依赖关系的

# 第1步
rpm -ivh mysql-community-common-8.0.34-1.el7.x86_64.rpm
# 第2步
rpm -ivh mysql-community-client-plugins-8.0.34-1.el7.x86_64.rpm
# 第3步
rpm -ivh mysql-community-libs-8.0.34-1.el7.x86_64.rpm 
# 第4步
rpm -ivh mysql-community-libs-compat-8.0.34-1.el7.x86_64.rpm
# 第5步 这一步会报错依赖检测失败,需要安装openssl-devel依赖
rpm -ivh mysql-community-devel-8.0.34-1.el7.x86_64.rpm
# 第6步
rpm -ivh mysql-community-client-8.0.34-1.el7.x86_64.rpm
# 第7步
rpm -ivh mysql-community-icu-data-files-8.0.34-1.el7.x86_64.rpm
# 第8步
rpm -ivh mysql-community-server-8.0.34-1.el7.x86_64.rpm

(可选)另外一个教程的安装次序:其实就是省略了第4步和第5步

# 第1步
rpm -ivh mysql-community-common-8.0.34-1.el7.x86_64.rpm
# 第2步
rpm -ivh mysql-community-client-plugins-8.0.34-1.el7.x86_64.rpm
# 第3步
rpm -ivh mysql-community-libs-8.0.34-1.el7.x86_64.rpm 
# 第6步
rpm -ivh mysql-community-client-8.0.34-1.el7.x86_64.rpm
# 第7步
rpm -ivh mysql-community-icu-data-files-8.0.34-1.el7.x86_64.rpm
# 第8步
rpm -ivh mysql-community-server-8.0.34-1.el7.x86_64.rpm
# 安装好需要初始化一下
mysqld --initialize --console
# 提升权限
chown -R mysql:mysql /usr/local/mysql

6、启动mysql服务

# 启动
systemctl start mysqld
# 重启
systemctl restart mysqld
# 停止
systemctl stop mysqld

7、查询自动生成的随机密码

cat /var/log/mysqld.log | grep localhost

8、使用随机密码登录

mysql -u root -p # 输入查询到的随机密码,完成登录

9、修改root用户密码

# 在执行命令之前会提示:必须使用ALTER USER语句重置密码
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

# 重置root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'hllive@163.com';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'hllive@163.com';

# 执行重置密码报错:你的密码不能满足当前的规则,解决方式:1设置更复杂的密码,2修改密码设置规则
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

# 修改密码设置规则(可选)
SET GLOBAL validate_password.policy = 0; # 设置策略等级=0
SET GLOBAL validate_password.length = 4; # 设置最少长度=4

10、给root用户分配权限

当前root用户只能在本机访问

默认 root 用户只能localhost访问,是无法远程访问的,需要创建一个新的账户,用于远程访问

CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'hllive@163.com';
# 给root分配所有权限
GRANT ALL ON *.* TO 'root'@'%';
# 刷新权限 立即生效
flush privileges;

如果外网无法访问,要检测是否开启防火墙,可以停用防火墙

# 查看防火墙的状态
firewall-cmd --state 
# 关闭防火墙
systemctl stop firewalld.service 
# 禁止firewall开机启动
systemctl disable firewalld.service
# 3306 端口对外开放
firewall-cmd --remove-port=3306/tcp --permanent 
# 重启防火墙
firewall-cmd --reload
posted @ 2023-11-16 16:10  hllive  阅读(906)  评论(0编辑  收藏  举报