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