• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    详解腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题

    背景:

    今天才申请了腾讯云+校园计划的1元服务器,安装了Centos7.0,在安装MySQL的时候,使用yum list | grep mysql 来查找yum源中是否有mysql,结果如下:

    [root@VM_47_56_centos ~]# yum list | grep mysql
    akonadi-mysql.x86_64          1.9.2-4.el7          base   
    apr-util-mysql.x86_64          1.5.2-6.el7          base    
    mysql-proxy.x86_64           0.8.5-2.el7          epel   
    mysql-proxy-devel.x86_64        0.8.5-2.el7          epel   
    mysql-router.x86_64           2.0.2-1.el7          mysql-tools-community
    mysql-router-debuginfo.x86_64      2.0.2-1.el7          mysql-tools-community
    mysql-utilities.noarch         1.5.6-1.el7          mysql-tools-community
    mysql-utilities-extra.noarch      1.5.6-1.el7          mysql-tools
    mysqlreport.noarch           3.5-11.el7           epel   
    mysqltuner.noarch            1.2.0-7.el7          epel   
    省略部分内容。。。。
    [root@VM_47_56_centos ~]# 

    总之是看不到mysql-server的影子,(PS:据说Centos7.0的源中暂时还没有mysql,但是相同版本的Centos在阿里云是可以直接使用yum install mysql-server 来直接安装mysql的)

    于是找了一些mysql的安装源,安装过程如下:

    安装过程:

    为了解决这个问题,我们要先下载mysql的repo源。

    1、下载mysql的repo源

    $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

    2、安装mysql-community-release-el7-5.noarch.rpm包

    $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

    安装这个包后,会获得两个mysql的yum repo源:

    /etc/yum.repos.d/mysql-community.repo和/etc/yum.repos.d/mysql-community-source.repo。

    3、安装mysql

    $ sudo yum install mysql-server

    这个过程中就会看到有mysql的软件包存在:

    [root@VM_47_56_centos ~]# sudo yum install mysql-server
    已加载插件:fastestmirror, langpacks          
    | 2.5 kB 00:00:00   
    mysql-tools-community                                 | 2.5 kB 00:00:00   
    mysql56-community                                     | 2.5 kB 00:00:00   
    (1/3): mysql-connectors-community/x86_64/primary_db                    | 8.6 kB 00:00:00   
    (2/3): mysql-tools-community/x86_64/primary_db                      | 22 kB 00:00:00   
    (3/3): mysql56-community/x86_64/primary_db                        | 109 kB 00:00:01   
    Loading mirror speeds from cached hostfile
     * base: mirrors.sina.cn
     * extras: mirrors.sina.cn
     * updates: mirrors.sina.cn
    正在解决依赖关系
    --> 正在检查事务
    
    省略内容。。。
    
    依赖关系解决
    =================================================================================================================
     Package              架构       版本            源              大小
    =================================================================================================================
    正在安装:
     mysql-community-libs       x86_64      5.6.27-2.el7        mysql56-community      2.0 M
       替换 mariadb-libs.x86_64 1:5.5.44-1.el7_1
     mysql-community-server      x86_64      5.6.27-2.el7        mysql56-community      58 M
    为依赖而安装:
     mysql-community-client      x86_64      5.6.27-2.el7        mysql56-community      19 M
     mysql-community-common      x86_64      5.6.27-2.el7        mysql56-community      256 k
     numactl-libs           x86_64      2.0.9-5.el7_1       
    
    事务概要
    =================================================================================================================
    安装 2 软件包 (+9 依赖软件包)
    
    总下载量:80 M
    Is this ok [y/d/N]: y
    
    

    下边的安装和其他安装一样,

    根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。

    4、重置密码

    重置密码前,首先要登录

    $ mysql -u root

    登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

    $ sudo chown -R mysql:mysql /var/lib/mysql #这里的mysql是用户名(需要设置用户组合用户)

    然后,重启服务:

    $ service mysqld restart

    接下来登录重置密码:

    $ mysql -u root
    mysql > use mysql;
    mysql > update user set password=password('xu827928') where user='root';
    mysql > exit;

    5、开放3306端口(可以不用设置)

    $ sudo vim /etc/sysconfig/iptables

    添加以下内容:

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

    保存后重启防火墙:

    $ sudo service iptables restart

    这样从其它客户机也可以连接上mysql服务了。

    6、修改权限可以使其他机器登录:

    mysql>mysql -h localhost -u root //这样应该可以进入MySQL服务器 
    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问数据的权限 
    mysql>FLUSH PRIVILEGES //修改生效 
    mysql>EXIT //退出MySQL服务器

    使用时遇到的问题

    (1)Java.sql.SQLException: Access denied for user ‘root'@'localhost' (using password:YES)

    java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:812) 
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3269)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1182) 

    问题的场景是:在命令行模式下用户名和密码都是正确的但是就是出现登陆不了授权失败的问题。

    解决方法:

    进入MySQL命令台:

    mysql> select user,password,host from mysql.user;

    可以看出该表显示的倒数第二行为:

    +--------+-------------------------------------------+--------------------+
    | user  | password                 | host        |
    +--------+-------------------------------------------+--------------------+
    | root  |                      | %         |

    可以看出在root用户下的任何主机是没有password的,因此可以采取两种方式,在远端使用的时候没有密码,显然是不安全的,然后就是为其在远端访问的时候设置密码。步骤如下:

    mysql> grant all privileges on *.* to root@"%" identified by "your password";
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    

    这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限。

    这样就可以为其设置密码,然后就可以使用密码进行登录。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • CentOS7.0下安装FTP服务的方法
    • Linux系列教程之虚拟机中安装Centos7.0
    • 详解CentOS7.0安装与配置Tomcat-7
    • Centos7.0安装ceph(JEWEL)及以上版本的实例解析
    上一篇:mysql 存储过程判断重复的不插入数据
    下一篇:MySQL5.6 数据库主从同步安装与配置详解(Master/Slave)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    详解腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题 详解,腾讯,云,CentOS7.0,使用,