阿里云centos7 安装mysql 5.7教程以及中间遇到的问题处理方法

28 篇文章 1 订阅

今天准备在阿里云centos7上装一个mysql 碰到许多问题,记录一下

Mysql 下载地址 https://dev.mysql.com/downloads/mysql/#downloads

下载第一个就可以了612.1M需要注册登录如果没有可以私信我

然后安装参考http://www.jb51.net/article/87160.htm?pc

安装的时间就开始碰到问题

MySQL的my.cnf文件(解决5.7下没有my-default.cnf)

参考http://www.bubuko.com/infodetail-2167283.html

接着遇到新问题

Failed to start mysqld.service: Unitnot found

首先需要安装mariadb-server

  ~]#yum install -y mariadb-server

  启动服务

  ~]# systemctl start mariadb.service

  添加到开机启动

  ~]# systemctl enable mariadb.service

进行一些安全设置,以及修改数据库管理员密码

  ~]#mysql_sceure_installation

至此完成!

参考 https://www.cnblogs.com/lushengle/p/7607953.html

接着遇到新问题

“var/lib/mysql”目录不存在

直接创建 mkdir   /var/lib/mysql  

参考 http://blog.csdn.net/qq_32331073/article/details/76229420

由于没有授权导致出现下一个问题

下午又安装了Nginx 所以耽搁了mysql的安装

第二天接着安装mysql

接着遇到新问题

 Can’t connect to local MySQL server throughsocket ‘/var/lib/mysql/mysql.sock’

这个问题首先看sock是不是指向那个路径

vi /etc/my.cnf

 socket=/var/lib/mysql/mysql.sock

显示指向正确,那就是权限问题

参考

 https://www.cnblogs.com/eoiioe/archive/2008/12/28/1363947.html

在mysql 安装的地方执行 chown -R mysql:mysql /var/lib/mysql

然后再次启动mysql,此时启动成功

接着新问题 密码过期

在MariaDB配置文件/etc/my.cnf  [mysqld]中加入skip-grant-tables一行:

[Richard@localhost ~]$ sudo vi/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

skip-grant-tables    #加入这一行

接着新问题mysql 进程杀不死

解决方法 参考 http://blog.csdn.net/wzqzhq/article/details/73733173

关闭 service mysqlstop 

重启 service mysqlrestart
使用无密码登录
mysql -u root 
登录进去以后,数据库选择mysql,修改user表下用户名为root的那条记录,将password_expired设为N。这样随机密码就有效了,可以用密码登录了。
如果希望修改root密码,则在登录mysql后,执行下面两条sql即可:
update mysql.user set authentication_string=password('123456') whereuser='root' and Host = 'localhost';
flush privileges;
然后再把skip-grant-tables一行 删除 重启service mysql restart
接着新问题远程客户端连接不上去
查看防火墙状态:systemctl status firewalld  或者 firewall-cmd    --state
启动防火墙:systemctl start firewalld
停止防火墙:systemctl stop firewalld
我先把 3306端口加入防火墙
centos6
vi  /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
centos 7以上

vi  /etc/firewalld/zones/public.xml

或者用命令行 firewall-cmd--zone=public--add-port=3306/tcp--permanent

参考 http://blog.csdn.net/jack85986370/article/details/51169203

以及 http://www.mamicode.com/info-detail-1030830.html

防火墙规则放开后我本地windows还是Telnet 不通 3306端口

接着在网上搜索,发现阿里云自己也有安全策略

没有3306端口 通过右上角快速创建规则将3306端口加到入方向进去 

再次本地Telnet 3306端口终于成功了,本地客户端也连接成功

忙活了两个下午,总结一下 centos 7 和centos 6的版本有很大的区别 尤其是防火墙那里,而mysql5.7 和5.7以下版本也有区别

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鹏小站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值