Centos7安装mysql5.7.27 史上最全最简单的教程

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

rpm -ivh |grep mysql

rmp -ivh |grep mari*

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

      1)卸载mysql及maridb的组件

yum -y remove mysql*
yum -y remove mari*

      2)删除mysql或maridb的数据

rm -rf /var/lib/mysql/*

3、下载mysql的repo源


   [root@localhost ~]# cd /usr/local/src/  //注:该路径自己选择
   [root@localhost src]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm 
 
   [root@localhost src]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm 
 
   [root@localhost src]#  yum -y install mysql-server

注:若无wget命令则先安装wget命令

yum -y install wget

4、配置my.cnf文件

输入vim /etc/my.cnf进入配置文件,按ins启动编辑,写入下面代码,然后按esc输入:wq!强制保存并退出

# 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

5、启动mysql服务,重置密码

一、启动mysql

      1)启动mysql服务

systemctl start mysqld.service

      2)查看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.

二、登录mysql,重制密码

      1)登录mysql

mysql -u root -p

      注:会出现如下情况,为密码输入错误,拒绝访问的错误信息

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)  

      2)安装好mysql之后系统会生成一个随机密码,这个密码既复杂又不方便,我们先不讲怎么找到随机密码,如何用这个随机密码登录,我们采取的策略是直接修改成自定义密码,使用自定义密码登录mysql

            1、停止mysql服务

systemctl stop mysqld.service

            2、设置mysql无密码登录

      编辑/etc/my.cnf文件,添加如下代码

skip-grant-tables

            3、重启mysql服务

systemctl start mysqld.server

      3)重新登录mysql

此时输入登录命令,会提示输入密码直接回车即可

mysql -u root -p

      4)修改root用户的密码

            1、首先切换到mysql库

use mysql;

            2、我们输入命令修改密码,下面代码中password( )括号中里面的内容为自定义的新密码

输入命令这里列出3个,不同的版本修改密码语句不同。我使用的是第三条命令,然后密码才修改成功。大家可以用这三条语句试一试,这3条语句应该可以解决大多数的修改密码无效问题。

UPDATE user SET password=PASSWORD(‘root’)WHERE user=’root’;
update user set password=password("root") where user="root";
update mysql.user set authentication_string=password('root') where user='root' ;

            3、修改后刷新一下mysql权限相关的表

flush privileges;

            4、退出mysql客户端

exit;

      5)删除之前添加的到/etc/my.cnf中的代码

skip-grant-tables

      6)重启mysql服务

systemctl restart mysqld.service

      7)再次登录,使用修改后的密码显示登录成功

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

使用远程客户端(navicat等)连接mysql需要确保两点

    a、3306端口有没有被防火墙禁用

    b、mysql远程访问权限是否已打开

      一、首先开启3306端口,因为这个端口默认会被防火墙禁掉,否则授权也没有用

firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload

        二、打开mysql远程访问权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

若密码简单会报如下错误:

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;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值