全网最全无坑!!! Centos7.4环境 安装mysql5.7.27 (单机版详细部署及问题汇总)

安装前准备

1、查看Linux中是否安装了Mysql或者Maridb(Centos7系统会默认安装Maridb)

rpm -qa|grep mysql
rpm -qa|grep mari*

2、若存在会打印mysql或者maridb信息,若不存在则什么都不会显示。卸载mysql或者maridb

	2.1 卸载mysql及maridb的组件
yum -y remove mysql*
yum -y remove mari*
	2.2 删除mysql或maridb的数据
rm -rf /var/lib/mysql/*

安装开始

3.下载并安装mysql RPM包,修改配置文件,启动mysql服务

3.1 下载mysql的repo源
注:若无wget命令则先安装wget命令

yum -y install wget
3.2 指定下载路径,下载到本地安装
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm 
rpm -ivh mysql57-community-release-el7-8.noarch.rpm 
yum -y install mysql-server
3.3 配置修改/etc/my.cnf文件,将下面代码替换到/etc/my.cnf文件中

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
 
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server_id=1
expire_logs_days=3
 
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
 
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
3.4 启动mysql服务,重置密码
systemctl start mysqld.service
3.5 查看mysql服务是否正常启动
systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 二 2020-10-13 10:28:52 CST; 5s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 26382 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 26364 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 26385 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─26385 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
 
cdh01 systemd[1]: Starting MySQL Server...
cdh01 systemd[1]: Started MySQL Server.

4.登录mysql,重制密码

4.1 登录

mysql -u root -p

注:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
4.2 安装好mysql之后系统会生成一个随机密码,这个密码既复杂又不方便,我们先不讲怎么找到随机密码,如何用这个随机密码登录,我们采取的策略是直接修改成自定义密码,使用自定义密码登录mysql
4.2.1 停止mysql服务

systemctl stop mysqld.service
4.2.2 设置mysql无密码登录
  编辑/etc/my.cnf文件,追加如下代码
skip-grant-tables
4.2.3 重启mysql服务
systemctl start mysqld.service
4.3 重新登录mysql
此时输入登录命令,会提示输入密码直接回车即可
mysql -u root -p
4.4 修改root用户的密码
4.4.1 首先切换到mysql库
use mysql;
4.4.2 我们输入命令修改密码,下面代码中password( )括号中里面的内容为自定义的新密码
	UPDATE user SET password=PASSWORD('Test%123456')WHERE user=’root’;
	update user set password=password('Test%123456') where user="root";
	update mysql.user set authentication_string=password('Test%123456') where user='root';
注:输入命令这里列出3个,不同的版本修改密码语句不同。我使用的是第三条命令,然后密码才修改成功。大家可以用这三条语句试一试,这3条语句应该可以解决大多数的修改密码无效问题。
4.4.3 修改后刷新一下mysql权限相关的表
	flush privileges;
4.4.4 退出mysql客户端
exit;
4.4.5 删除之前添加的到/etc/my.cnf中的代码
skip-grant-tables
4.4.6 重启mysql服务
systemctl restart mysqld.service
4.4.7 再次登录,使用修改后的密码显示登录成功

安装后调试

5.启动3306端口,授权远程可访问mysql数据库

5.1使用远程客户端(navicat等)连接mysql需要确保两点
   a、3306端口有没有被防火墙禁用
   b、mysql远程访问权限是否已打开
   c、首先开启3306端口,因为这个端口默认会被防火墙禁掉,否则授权也没有用
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload
5.2 打开mysql远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Test%123456' WITH GRANT OPTION;
5.3 若密码简单会报如下错误:
ERROR 1819 (HY000): Your password does not satisfy ...
此时需要调整:
  1 )、mysql密码强度限制:
	set global validate_password_policy=0;
  2)、mysql密码长度限制(密码长度设置为4,根据实际情况自己调整长度)
set global validate_password_length=4;
 3)、更新授权表,使以上调整生效
flush privileges;

其他:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum -y install https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值