年中办公地址搬迁,换了新的服务器,测试环境需要重新搭建,以下是当时安装mysql服务过程中,记录的一些问题,现整理如下:
1.首先下载mysql的安装包,用 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar
2.下载后解压,解压以后有如下这么多文件(其实下载rpm包会有挺多问题,建议直接yum安装):
按顺序安装:
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,要让其他用户可以登录连接,需要将虚拟机改成桥接模式:
并且关闭防火墙:
cenOS7.3防火墙状态:firewall-cmd --state
关闭防火墙: systemctl stop firewalld.service
开启防火墙:systemctl start firewalld.service