zoukankan      html  css  js  c++  java
  • 阿里云Centos7安装mysql教程

    1 基本安装过程

    1.查看系统是否安装了mysql软件

    # rpm -qa|grep -i mysql

    2.将已经安装过的软件卸载掉。注意:这样的卸载是不彻底,不过这里够用了

    # yum remove '软件名'

    3.CentOS 7的yum源中默认是没有mysql的。所以,为了解决这个问题我们首先下载安装mysql的repo源。

    # wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

    4. 安装mysql的repo源

    # rpm -ivh mysql57-community-release-el7-7.noarch.rpm

    安装之后会获得/etc/yum.repos.d/mysql-community.repo和/etc/yum.repos.d/mysql-community-source.repo两个源,可以去相应的路径下查看一下。

     5.开始安装

    # yum install mysql-server

    # yum install mysql-devel

    # yum install mysql

    # rpm -qa | grep -i mysql

     6.服务开关操作

    #执行其中之一就可以

    # service mysqld status     查看mysql当前的状态

    # systemctl status mysqld

    # service mysqld stop       停止mysql

    #systemctl stop mysqld

    # service mysqld restart    重启mysql

    #systemctl restart mysqld

    # service mysqld start      启动mysql

    # systemctl start mysqld

    7.设置MySQL开机启动

    # systemctl enable mysqld 

    8.启动MySQL服务进程

    # systemctl start mysqld
    或者

    # service mysqld start

    2.安装完成后无法登录的问题

    为了加强安全性,MySQL5.7为root用户随机生成了一个密码,如果安装的是RPM包,则默认是在/var/log/mysqld.log中。

    可通过# grep "password" /var/log/mysqld.log 命令获取MySQL的临时密码

    2020-07-18T06:33:59.855507Z 1 [Note] A temporary password is generated for root@localhost: 50drNfZf*D)n

    登录后必须马上修改密码,否则报错。

    mysql> ALTER USER USER() IDENTIFIED BY '234!@#sdfd';

    安装完成后用命令  mysql -u root -p 然后 Enter Password,但是无法登录。解决办法如下:

    1.在/etc/my.cnf文件中最后添加一行 skip-grant-tables 作用就是跳过了mysql的用户验证然后重启mysql : systemctl restart mysqld

    然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库; 

    进入数据库之后执行下面的命令 

    mysql> use mysql;

    mysql> show tables;

    select user,authentication_string from user;

    update mysql.user set authentication_string=password('your password') where user='root';

    flush privileges;

    exit

    3.恢复/etc/my.cnf文件,将skip-grant-tables删除或者注释掉然后重启mysql : systemctl restart mysqld 

    到此为止我们就解决了mysql安装之后登录不知道密码的问题 

    3.登录错误

    下面顺便讲解一下这个问题:安装完mysql 之后登陆,不管运行任何命令,总是提示这个错误:

    You must reset your password using ALTER USER statement before executing this statement

    处理步骤为:依次执行下面三条代码。

    SET PASSWORD = PASSWORD('your new password');

    ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

    flush privileges;

    这里要注意的是your new password 必须包含数字,字母包含大小写,标点符号。不然好像是不能通过的。

    完成以上三步退出再登,使用新设置的密码就行了,以上除了 your new password 需要修改成新密码外,其他原样输入即可。 

    4.远程客户端无法连接MySQL数据库

    1. 创建新的安全组规则,对外开放3306端口访问授权(阿里云的服务器,默认只需要在管理后端开启3306就可以了,下面操作防火墙的步骤可以免掉

    firewall-cmd --permanent --zone=public --add-port=3306/tcp            #添加端口,加完要重启防火墙

    firewall-cmd --permanent --zone=public --remove-port=3306/tcp        #删除端口,加完要重启防火墙

    #说明:

    #–zone #作用域

    #–add-port=3306/tcp #添加端口,格式为:端口/通讯协议

    #–permanent 永久生效,没有此参数重启后失效

    查看端口状态   netstat -an | grep 3306

    查看已开启的端口,重启防火墙后有效

    firewall-cmd --list-ports

    systemctl restart firewalld        #重启防火墙

    systemctl status firewalld         #查看防火墙状态

    systemctl stop firewalld           #关闭防火墙

    2.在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。

    mysql -u root -p

    mysql>use mysql;

    mysql>select host,user from user;

    mysql>update user set host = '%' where user ='root';

    mysql>flush privileges;

    mysql>select host,user from user;

    第一句是以权限用户root登录

    第二句:选择mysql库

    第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

    第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址

    第五句:刷新MySQL的系统权限相关表

    第六句:再重新查看user表时,有修改 

    3.重起mysql服务即可完成。service mysqld restart

    转载自: https://www.cnblogs.com/jepson6669/p/9013652.html

  • 相关阅读:
    转发 GSLB概要和实现原理
    通过openresty && tengine && nginx 动态添加资源到 html 页面
    Terraform 多云管理工具
    vault key 管理工具
    fabio
    keycloak 了解
    访问交换机的三种方式
    LAN、WAN、WLAN的区别
    浅谈团队贡献分如何分配
    Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器
  • 原文地址:https://www.cnblogs.com/heige/p/13159375.html
Copyright © 2011-2022 走看看