Centos7 yum安装mysql
Posted 蓝天飞翔的白云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7 yum安装mysql相关的知识,希望对你有一定的参考价值。
参考此文档:http://www.jb51.net/article/116032.htm
http://www.jb51.net/article/95399.htm
1.在官网下载mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
2.MySQL has a dependency on the libaio
library.
yum install libaio
yum install mysql-server
3.mysql -u root
是没有权限 chown root:root /var/lib/mysql
service mysqld restart
4.mysql -u root
ERROR 1045 (28000): Access denied for user \'root\'@\'localhost\' (using password: NO)
mysql5.7新增的特性中主要的一方面就是极大增强了安全性,安装Mysql后默认会为root@localhost用户创建一个随机密码,这个随机密码在不同系统上需要使用不同方式查找,否则无法登录mysql并修改初始密码。
centos7是在/var/log/mysqld.log
cat /var/log/mysqld.log
再次登录
mysql -u root -p
输入刚才找到的密码
登录成功
5.第一次登录后必须修改密码
ALTER USER
\'root\'
@
\'localhost\'
IDENTIFIED BY
\'password\'
;
是因为validate_password_policy策略问题
默认为medium
所以首先修改validate_password_policy参数的值:
mysql> set global validate_password_policy=0;
然后判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。修改validate_password_length:
mysql> set global validate_password_length=1;
执行修改密码:
mysql> ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'password\';
授权其他机器登录
mysql> GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' IDENTIFIED BY \'mypassword\' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES;
6.远程登录 mysql -h *.*.*.* -u root -p password
出现错误
ERROR 2003 (HY000): Can\'t connect to MySQL server on \'110.110.110.110\' (113)
上一过程已经设置远程权限,而且能ping通,按如下方法检测:
(1) ps -aux | grep mysql 检测服务是否启动
不通,可能是防火墙问题:
systemctl stop firewalld.service关闭防火墙
Telnet 连上
成功
故障现象 : 无法连接 mysql
错误信息 :ERROR 1130: Host xx.xx.xx.xx is not allowed to connect to this MySQL server
原因 : mysql服务器没有赋予此客户端远程连接的权限。
检查 :在mysql服务器本地查询mysql库里user表对应的host是否包含客户端机器的IP(%为不限制IP允许远程连接)。
处理 :修改mysql库下的user表:update user set host = \'%\' where user =\'XXX\';flush privileges;
====================================================================================
故障现象 : 无法连接 mysql
错误信息 :ERROR 1045 (28000): Access denied for user \'usera\'@\'localhost\' (using password:YES)
原因 : 用户账号并未创建
检查 :以管理员ROOT登录后,show grants for \'usera\'@\'localhost\'; 或者 select user from mysql.user; 确认用户账号是否存在。
处理 :创建用户账号。
=====================================================================================================
故障现象 : 无法连接 mysql
错误信息 :ERROR 2003 (HY000): Can\'t connect to MySQL server on \'hostxxxxx\' (10061)
原因 : mysqld 客户端与服务端端口不一致。
检查 :在my.ini 设置下服务端口 这种情况特别是客户都与远程服务器端口不一致 很容易出现的问题
处理 :启动mysqld 服务
=====================================================================================================
故障现象 : 无法连接 mysql windows
错误信息 :ERROR 2003 (HY000): Can\'t connect to MySQL server on \'hostxxxxx\' (10061)
原因 : 同时开启大量的tcp端口和而仅有一小部分短命端口时,当他们处于time_wait时期,mysql可能会跑错端口
检查 :在windows 默认会开启5000个临时端口供调用,而他们的生命仅仅是120s,意思是在关闭端口的时候会有120秒的延时
处理 :减少不不必要的tcp端口。
修改注册表
=====================================================================================================
故障现象 : 无法连接 mysql
错误信息 :ERROR 2002 (HY000): Can\'t connect to local MySQL server server through socket \'/var/lib/mysql/mysql.sock\'(111)
原因 : mysqld的mysql.sock没在相应的位置。
处理 :1.先查看/etc/rc.d/init.d/mysql status 看看是否启动
2.改权限 chown -R mysql:msyql /var/lib/mysql
3.修改/etc/my.cnf (注意:先停数据库)
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/usr/local/mysql
[client]
socker=/var/lib/mysql/mysql.sock
4.启动数据库
=====================================================================================================
以上是关于Centos7 yum安装mysql的主要内容,如果未能解决你的问题,请参考以下文章