一、前言
由于自己闲得蛋疼,于是乎想学习下服务器的安全知识,便远程登录了服务器,看到服务器上的目录有很多没有用的文件,就想删除一些没有用的文件,谁知道删除过后,感觉自己删错了,就打开网站来看看是否影响,果然网站提示无法连接数据库,顿时惊呆了。
二、解决过程
我本来是做移动开发的,所以对于后台和Linux 不是很熟悉,遇到这种情况,我第一时间想到的是文件恢复,于是在网上找了各种教程,但是没有效果,于是就想转变方法,没错就是重新安装mysql。
linux环境Mysql 5.7.13安装教程分享给大家,供大家参考,具体内容如下
1系统约定
安装文件下载目录:/data/software
Mysql目录安装位置:/usr/local/mysql
数据库保存位置:/data/mysql
日志保存位置:/data/log/mysql
2下载mysql
在官网:http://dev.mysql.com/downloads/mysql/中,选择以下版本的mysql下载:
![](https://img.haomeiwen.com/i2030772/5a2667b6b3a5578a.jpg)
执行如下命名:
#mkdir /data/software
#cd /data/software
#wgethttp://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
3解压压缩包到目标位置
# mkdir /usr/local/mysql
#cd /dat/software
#pwd
执行后如下:
![](https://img.haomeiwen.com/i2030772/e201681afb1b17f8.png)
#ls
![](https://img.haomeiwen.com/i2030772/c493d7d9716bbc21.png)
#cd /usr/local
#pwd
![](https://img.haomeiwen.com/i2030772/be1af7559afdf194.png)
# tar -xzvf /data/software/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
![](https://img.haomeiwen.com/i2030772/eb6f68964e05346f.png)
#ls
![](https://img.haomeiwen.com/i2030772/d4212ec19cdb75b6.png)
--修改文件名
# mv mysql-5.7.13-linux-glibc2.5-x86_64 mysql
#ls
![](https://img.haomeiwen.com/i2030772/f782f4365fa8ecc3.png)
4创建数据仓库目录
--/data/mysql 数据仓库目录
# mkdir /data/mysql
#ls /data/
![](https://img.haomeiwen.com/i2030772/b846a4ac194fe272.png)
5新建mysql用户、组及目录
# ---新建一个msyql组
# useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql ---新建msyql用户禁止登录shell
6改变目录属有者
#cd /usr/local/mysql
#pwd
#chown –R mysql .
#chgrp –R mysql .
![](https://img.haomeiwen.com/i2030772/bcc165b81cf76f81.png)
#chown -R mysql /data/mysql
7配置参数
# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
![](https://img.haomeiwen.com/i2030772/9fb2cf333e23a3b1.png)
此处需要注意记录生成的临时密码,如上文:YLi>7ecpe;YP
#bin/mysql_ssl_rsa_setup --datadir=/data/mysql
![](https://img.haomeiwen.com/i2030772/b786245fdb39c3e9.png)
8修改系统配置文件
![](https://img.haomeiwen.com/i2030772/e449c227b26aa0c5.png)
# cp my-default.cnf /etc/my.cnf
# cp mysql.server /etc/init.d/mysql
![](https://img.haomeiwen.com/i2030772/0bc5cada00f15448.png)
# vim /etc/init.d/mysql
修改以下内容:
![](https://img.haomeiwen.com/i2030772/10a90a29fd2c3acf.png)
# vim /etc/my.cnf
修改以下内容:
![](https://img.haomeiwen.com/i2030772/0bb300da2df5e25a.png)
![](https://img.haomeiwen.com/i2030772/99eeecb2ad958614.png)
![](https://img.haomeiwen.com/i2030772/230f2e73760f3741.png)
9启动mysql
![](https://img.haomeiwen.com/i2030772/ba3a663d391b2ac6.png)
#bin/mysqld_safe --user=mysql &
![](https://img.haomeiwen.com/i2030772/9772df5092fd8292.png)
bin/mysql --user=root –p
--输入第6步生成的临时密码
![](https://img.haomeiwen.com/i2030772/1bbd6f40e893ea00.png)
![](https://img.haomeiwen.com/i2030772/3840ef1066d78558.png)
mysql> set password=password('A123456');
![](https://img.haomeiwen.com/i2030772/8926a0571439c14d.png)
mysql>grant all privileges on *.* toroot@'%'identified by 'A123456';
mysql> flush privileges;
![](https://img.haomeiwen.com/i2030772/a03d5163f6532eae.png)
mysql> use mysql;
mysql> select host,user from user;
如果没有意外的话就上面的结果
当然有可能会遇到一些坑,比如
Access denied for user 'root'@'localhost' (using password: NO)
解决办法
# service mysql-server stop
mysqld --skip-grant-tables &
# mysql -u root
mysql>
set password=password('newpassword');
UPDATE user SET Password=PASSWORD(newpassword) WHERE user=’root’;
grant all privileges on *.* to root@'%' identified by 'newpassword';
SET PASSWORD FOR root=PASSWORD(newpassword);
上面四个选一个即可
但是有可能出现错误
那么现在运行
mysql> flush privileges;
然后在运行上面设置的密码语句
这时还是会出现Access denied for user 'root'@'localhost' (using password: NO)
然后在 my.cnf里添加一句 skip-grant-tables
居然就可以神奇的可以了
Linux下 安装过程中的一些命令
shutdown -r now 立刻重启(root用户使用)
wget +网址 =下载
tar -xzvf 解压
/usr/local/nginx/sbin/nginx 启动nginx 注意/usr/local/nginx这是安装路径
/usr/local/nginx/sbin/nginx -s reload 重启nginx
/usr/local/php5.6/sbin/php-fpm 启动fpm 不然nginx不能解析php
mysqladmin start
/ect/init.d/mysql start (前面为mysql的安装路径)
2.linux下重启mysql的命令:
mysqladmin restart
/ect/init.d/mysql restart (前面为mysql的安装路径)
3.linux下关闭mysql的命令:
mysqladmin shutdown
/ect/init.d/mysql shutdown (前面为mysql的安装路径)
4.连接本机上的mysql:
进入目录mysql/bin,再键入命令mysql -uroot -p, 回车后提示输入密码。
my.cnf配置文件的内容
[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8
[mysqld]
server-id = 1
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /root/data/mysql
[mysqld_safe]
open-files-limit=8192
log_error = /root/data/mysql/mysql-error.log
网友评论