年中办公地址搬迁,换了新的服务器,测试环境须要从新搭建,如下是当时安装mysql服务过程当中,记录的一些问题,现整理以下:html
1.首先下载mysql的安装包,用 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12-1.el6.x86_64.rpm-bundle.tarmysql
2.下载后解压,解压之后有以下这么多文件(其实下载rpm包会有挺多问题,建议直接yum安装):

3.按照
http://www.cnblogs.com/lonelywolfmoutain/p/5430515.html给出的安装步骤,是
按顺序安装:
rpm -ivh mysql-community-common-5.7.12-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.12-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.12-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.12-1.el6.x86_64.rpm
可是按照该步骤安装会报错,有些依赖库一直找不到

更换安装顺序也不行,依旧报错。将几个包同时装,不按照顺序安装,依然不行,报错:

4.据了解是由于用rpm安装不够智能,不可以自动的找依赖,因而用yum localinstall -C -y --disablerepo=* *.rpm命令,安装完成
5.完成后须要注意的一些点:
经过这种方式安装的mysql,由于是通过编译的,各个文件都是分开的,因此不能自行选择安装目录,有须要的话能够查看他的配置文件,默认配置文件在:/etc/my.cnf

也能够查看服务启动文件,也就是mysql的systemd配置:cat /run/systemd/generator.late/mysqld.service

这个文件也就是服务启动命令 systemctl start mysqld.service执行的文件

mysqld.service的标准目录(yum在线安装)是在:/usr/lib/systemd/system/mysqld.service ,此处多是由于用下载下来的rpm包,有些不同,若是不知道在哪一个目录,能够执行:
systemctl cat mysqld.service,第一行显示了文件所在目录:

systemctl start mysqld.service ->启动
systemctl stop mysqld.service -> 中止
systemctl status mysqld.service ->查看状态
systemctl enable mysqld.service ->开机自动启动
6.以上算是完成了安装,而后链接到mysql,用:mysql -u root,发现链接不上,报错没有密码,用mysql -u root -p 仍然报错:

这是由于没有输入正确的密码。在MySQL5.7.6 版本之后,安装完会在启动 mysql 进程的时候生成一个用户密码,首次登录须要这个密码才行。 密码保存在 mysql 进程的日志里,即/var/log/mysqld.log
cat /var/log/mysqld.log | grep 'password'
7.而后用默认密码登陆成功 mysql -u root -pw&eDxegbT9Ab
8.成功之后,操做数据库会要求修改密码

而后输入:ALTER USER 'root'@'localhost' IDENTIFIED BY 'kuangfofeng';修改密码,仍然报错:

这是由于密码有强度之分,解释以下,文档来自
http://www.cnblogs.com/ivictor/p/5142809.html
因此须要修改密码强度,用set global validate_password_policy=0;
查看密码相关的长度用:SHOW VARIABLES LIKE 'validate_password%';

9.修改完成密码后,用新的密码看是否可以链接
10.修改权限,让其余的机器也能访问:
mysql> GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql';
mysql> flush privileges;
11.本地虚拟机上安装部署mysql,要让其余用户能够登陆链接,须要将虚拟机改为桥接模式:

而且关闭防火墙:sql
cenOS7.3防火墙状态:firewall-cmd --state
关闭防火墙: systemctl stop firewalld.service
开启防火墙:systemctl start firewalld.service