详解腾讯云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-munity mysql-router-debuginfo.x86_64 2.0.2-1.el7 mysql-tools-munity mysql-utilities.noarch 1.5.6-1.el7 mysql-tools-munity 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./mysql-munity-release-el7-5.noarch.rpm
2、安装mysql-munity-release-el7-5.noarch.rpm包
$ sudo rpm -ivh mysql-munity-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源
/etc/yum.repos.d/mysql-munity.repo和/etc/yum.repos.d/mysql-munity-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-munity | 2.5 kB 00:00:00 mysql56-munity | 2.5 kB 00:00:00 (1/3): mysql-connectors-munity/x86_64/primary_db | 8.6 kB 00:00:00 (2/3): mysql-tools-munity/x86_64/primary_db | 22 kB 00:00:00 (3/3): mysql56-munity/x86_64/primary_db | 109 kB 00:00:01 Loading mirror speeds from cached hostfile base: mirrors.sina. extras: mirrors.sina. updates: mirrors.sina. 正在解决依赖关系 --> 正在检查事务 省略内容。。。 依赖关系解决 ================================================================================================================= Package 架构 版本 源 大小 ================================================================================================================= 正在安装: mysql-munity-libs x86_64 5.6.27-2.el7 mysql56-munity 2.0 M 替换 mariadb-libs.x86_64 1:5.5.44-1.el7_1 mysql-munity-server x86_64 5.6.27-2.el7 mysql56-munity 58 M 为依赖而安装: mysql-munity-client x86_64 5.6.27-2.el7 mysql56-munity 19 M mysql-munity-mon x86_64 5.6.27-2.el7 mysql56-munity 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的访问权限问题。狼蚁网站SEO优化的命令把/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: Aess denied for user ‘root'@'localhost' (using password:YES)
java.sql.SQLException: Aess denied for user 'root'@'localhost' (using password: YES) at .mysql.jdbc.SQLError.createSQLException(SQLError.java:946) at .mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870) at .mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:812) at .mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3269) at .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赋予了所有的权限,包括远程访问权限。
这样就可以为其设置密码,然后就可以使用密码进行登录。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程