在linux的centos7上安装mysql5.7
当时安装mysql5.7遇到很多问题,网上解决办法都不对,记录下来自己安装成功的安装步骤及注意事项
一、安装mysql5.7
1 更新yum本地缓存
yum clean cache
yum makecache
2 查看系统中是否已安装mysql
yum list installed | grep mysql
3 卸载系统自带的mysql及其依赖(防止冲突)
yum -y remove mysql-libs.x86_64
4 安装wget
yum install wget -y
5 给centos添加rpm源,并且选择比较新的源
wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
6 安装下载好的rpm文件
7 进入目录/etc/yum.repos.d/会多出这两个文件
8 修改mysql-community.repo文件
vi mysql-community.repo
9 使用yum安装mysql
yum install mysql-community-server -y
10 查看下mysql的版本,确定是否安装成功
mysql -V
11 启动mysql服务
service mysqld start
12 设置mysql开机启动
chkconfig mysqld on
13 从mysqld.log文件中,查看mysql临时密码
grep "password" /var/log/mysqld.log
14 复制上面的临时密码,登录mysql
mysql -uroot -p临时密码
- 如果临时密码中有特殊字符,需要加上\转义,不然会提示字符异常
- -u 和-p后面不要有空格,不然会提示密码错误
15 修改密码验证策略(不更改,可能修改的密码通不过),然后更改root用户密码
set global validate_password_policy=0;
set global validate_password_length=4;
alter user 'root'@'localhost' identified by '123456';
- 修改密码成功后,输入quit退出,然后使用新密码重新登录。
16 设置数据库用户在所有ip下都可以访问,以下用root用户示例(mysql中输入该命令)
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
- 其中root为用户,%表示所有权限,密码为123456
17 刷新mysql的系统权限相关表(mysql中输入该命令)
flush privileges;
18 使用quit或exit退出mysql,重启mysql服务
service mysqld restart
二、开启防火墙
linux防火墙默认是没有开通3306端口的,需要手动开通,这样本地客户端才能连接上linux上的mysql服务。
1 查询3306端口是否开启:
firewall-cmd --query-port=3306/tcp
- yes,表示开启;no表示未开启
2 在防火墙上,添加需要开放的3306端口:
firewall-cmd --add-port=3306/tcp --permanent
3 重载入添加的端口:
firewall-cmd --reload
4 再次查询3306端口是否开启,确认已开启
firewall-cmd --query-port=3306/tcp
三、卸载linux上的mysql
如果安装失败,想重新安装,则需要将mysql相关的全部删除掉。
1 检查安装的mysql组件
rpm -qa | grep -i mysql
2 将查询出来的文件逐个删除,例如:
yum remove mysql-community-libs-compat-5.7.35-1.el7.x86_64
yum remove mysql-community-release-el6-5.noarch
yum remove mysql-community-common-5.7.35-1.el7.x86_64
3 删除mysql相关文件
yum remove mysql mysql-server mysql-libs mysql-server
rm -rf /var/lib/mysq
rm /etc/my.cnf
rm –rf /usr/lib64/mysql
rm -rf /etc/yum.repos.d/mysql*
rm -rf mysql-community-release-el6-5.noarch.rpm
4 查找残留目录,然后使用rm命令逐一删除
whereis mysql