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

 更新时间:2017年01月01日 10:02:18   作者:徐刘根  
本篇文章主要介绍了腾讯云CentOS7.0使用yum安装mysql,详细的介绍了使用yum安装mysql及使用遇到的问题,有兴趣的可以了解一下。
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

背景:

今天才申请了腾讯云+校园计划的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赋予了所有的权限,包括远程访问权限。

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

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

相关文章

  • Mysql使用sum()函数返回null的问题详解

    Mysql使用sum()函数返回null的问题详解

    MySQL的Sum()函数是用来找出所有记录的一个字段的总和,下面这篇文章主要给大家介绍了关于Mysql使用sum()函数返回null的问题,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • Mysql中基本语句优化的十个原则小结

    Mysql中基本语句优化的十个原则小结

    这篇文章主要给大家总结介绍了Mysql中基本语句优化的十个原则,通过学习与记住它们,在构造sql时可以养成良好的习惯,文中介绍的相对比较详细与简单明了,需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-06-06
  • mysql部分替换sql语句分享

    mysql部分替换sql语句分享

    有时候需要对mysql中的内容进行部分替换,那么可以参考下面的文章。
    2011-11-11
  • MySQL中的多表查询与事务操作

    MySQL中的多表查询与事务操作

    这篇文章主要介绍了MySQL中的多表查询与事务操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • windows server2014 安装 Mysql Applying Security出错的完美解决方法

    windows server2014 安装 Mysql Applying Security出错的完美解决方法

    这篇文章给大家介绍了windows server2014 安装 Mysql Applying Security出错的完美解决方法,造成这种问题的主要原因是因为安装一遍之后没有卸载干净,要解决这个问题需要注意以下几点,具体解决方法,大家参考下本文
    2017-07-07
  • MySQL批量插入唯一索引冲突的几种避免办法

    MySQL批量插入唯一索引冲突的几种避免办法

    我们在进行大批量的数据插入时,遇到唯一索引冲突是经常的事,本文主要介绍了MySQL批量插入唯一索引冲突的几种避免办法,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • MySQL中的RIGHT?JOIN和CROSS?JOIN操作示例

    MySQL中的RIGHT?JOIN和CROSS?JOIN操作示例

    本文详细介绍了MySQL中的RIGHT?JOIN和CROSS?JOIN操作,RIGHT?JOIN返回右表中的所有记录及与左表中的记录相匹配的记录,而CROSS?JOIN返回两个表中所有可能的组合,通过实际示例和输出结果,我们展示了如何使用RIGHT?JOIN和CROSS?JOIN进行数据库查询,一起看看吧
    2023-07-07
  • Mysql查询以某"字符串"开头的查询方式

    Mysql查询以某"字符串"开头的查询方式

    这篇文章主要介绍了Mysql查询以某"字符串"开头的查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • MySQL中的引号和反引号的区别与用法详解

    MySQL中的引号和反引号的区别与用法详解

    这个问题是我在学习数据库的时候遇到的一个问题,我当时并不能理解下图中的一些情况,后来我也请教了一位大佬给我解答,最后在大佬和度娘的帮助下我大概理解了这个反引号的东西
    2021-10-10
  • MySQL MHA 运行状态监控介绍

    MySQL MHA 运行状态监控介绍

    这篇文章主要介绍MySQL MHA 运行状态监控,MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能,想具体了解的小伙伴可以和小编一起学习下面文章内容
    2021-10-10

最新评论

?


http://www.vxiaotou.com