zoukankan      html  css  js  c++  java
  • CentOS安装MySQL

    查看是否已经安装mysql和mariaDB(新版mysql会带有mariaDB), 此笔记只针对mysql

    • rpm -qa|grep mysql 查看有没有安装mysql
    • rpm -qa|grep maria 查看有没有安装mariaDB

    最好只选择一种,两种混装可能会有问题。

    一、安装mariaDB

    1. yum -y install mysql
    2. yum -y install mariadb-server
    3. mysql_secure_installation 设置 root密码等相关
    4. 第二步没安装的的话,会报错的,即ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ 

    二、安装mysql

      1. 如果使用mysql, 则需要先把mariaDB删除

        $ yum -qa|grep mariaDB      // 找到所有相关mariaDB的包

        $ yum remove -y mariaDB-*  // 删除以上的包

        $ wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm   // 获取源

        $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm              // 添加源

        $ yum install -y mysql 

        $ yum install -y mysql-server     // 安装相关服务, 

        $ systemctl start mysql      // 启动mysql服务

        $ systemctl enable mysql       // 开机自启动

        $ mysql -u root -p         // 初始化账号是root

      之前遇到个坑,老版本默认密码为空,但新版默认密码是root, 所以如果在Enter password中没有输入root或者输错则会报一下错误。

      

      如有 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ 错误, 则重新启动mysql或者添加执行权限

       $  systemctl restart mysql

       $ systemctl restart mysql.service

       $ chmod 777  /etc/mysql

      登录成功后如下 , 最后可修改默认账号和密码

      

    三、修改密码

       此时,服务器本地登录可以不用密码, 但选择数据库时会报错:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。这是由于在mysql数据库中存在匿名账户,所以登录时无论是-u root还是不使用root账号,都以匿名账号身份登录,而密码是随机的。解决步骤,先删除匿名账号,再给root账号设置密码。

        1 ) 关闭登录权限验证

        打开配置文件

    1 [root@lunix ~]# vim /etc/my.cnf

        

        在最后一行添加 skip-grant-tables(如原来就有,则将前面的#去掉), 保存并退出,重启mysql服务

    1 [root@lunix ~]# systemctl restart mysql.service

    再次登录mysql, 无需账号密码。

    1 [root@lunix ~]# mysql

    登录成功, 可查看本地数据库 show databases;

    切换到mysql数据库, use mysql;

    删除匿名账号 , (这里是因为已经删除过,所以显示0 rows, 新用户应该是显示 2 rows) , 当然,也可以不删除匿名账号, 但这样别人就可以随便登录本地mysql。

    1 mysql> delete from user where user=''; 

     设置新密码 

    1 mysql> UPDATE user SET password=password('您的新密码') where user='root'

    刷新权限(必须,否则重启服务后之前设置的密码就无效), 最后退出即可

    1 mysql> flush privileges; 
    2 mysql> quit;

     将之前/etc/my.cnf添加的 skip-grant-tables删除或者注释 (即恢复密码登录验证)

    重启mysql服务 

     [root@lunix ~]# systemctl restart mysql.service // 或者 service restart mysql

    再次登录mysql, 此时命令行直接输入 mysql是无法登录的,表示密码错误。

    1 [root@lunix ~]# mysql
    2 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    正确登录, 在提示的 Enter password后输入之前设置的密码即可。

    1 [root@lunix ~]# mysql -u root -p

    到此,可以正常操作数据库了。

    最后,对外开放3306端口, 客户端就可以登录服务器的mysql了

    1 // 开放3306端口
    2 [root@lunix ~]# /sbin/iptables -I(A) INPUT -p tcp --dport 3306 -j ACCEPT
    3 
    4 // 重启网络服务
    5 [root@lunix ~]# service network restart

    客户端Navicat连接, 对应输入ip和密码即可, 连接名自定义

    连接成功!

  • 相关阅读:
    Recommended Books for Algo Trading in 2020
    Market Making is simpler than you think!
    Top Crypto Market Makers of 2020
    Top Crypto Market Makers, Rated and Reviewed
    爬取伯乐在线文章(五)itemloader
    爬取伯乐在线文章(四)将爬取结果保存到MySQL
    爬取伯乐在线文章(三)爬取所有页面的文章
    爬取伯乐在线文章(二)通过xpath提取源文件中需要的内容
    爬取伯乐在线文章(一)
    爬虫去重策略
  • 原文地址:https://www.cnblogs.com/hughes5135/p/10261812.html
Copyright © 2011-2022 走看看