centos7安装MySQL(rpm安装)
- 准备工作
- 1、卸载不要的环境
- 2、获取MySQL官方yum源
- 3、下载官方的yum源
- 安装
- 可能遇到问题:
- 描述
- 解决方法:
- 配置
- 添加远程访问用户
- 设置MySql不区分大小写
准备工作
1、卸载不要的环境
grep mariadb # 先检查是否有mariadb存在
systemctl stop mariadb.service # 停止mariadb服务
ps axj | grep mariadb # 停止完成
mariadb 其实就是 mysql 的另一种拉出来的开源分支,也可以正常使用,如果不想卸载也是可以的。
检查系统安装包
rpm -qa | grep mariadb
或者
rpm -qa | grep mysql
卸载默认安装包
#卸载显示出来的mariadb/mysql安装包
sudo yum remove mariadb # 还是试着将上面的包都一个一个卸载吧
2、获取MySQL官方yum源
# 查看自己的系统版本
# [root@VM-8-5-centos ~]# cat /etc/redhat-release
# CentOS Linux release 7.4.1708 (Core)
# 可以进入 http://repo.mysql.com/,找一下和自己版本一致的资源
3、下载官方的yum源
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。
安装
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
可能遇到问题:
Failing package is: mysql-community-libs-5.7.44-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
描述
mysql-community-libs-5.7.44-1.el7.x86_64.rpm 的公钥尚未安装或源 “MySQL 5.7 Community Server“ 的 GPG 密钥已安装,但是不适
解决方法:
导入公钥,重新下载
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum -y install mysql-community-server
启动MySQL:
systemctl start mysqld.service
查看MySQL状态:
systemctl status mysqld.service
配置
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
grep "password" /var/log/mysqld.log
默认密码为冒号后面的的内容,例如,我的为:+3fyFNk;qe&*
如下命令进入数据库:
mysql -uroot -p
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
这里有个问题,新密码设置的时候如果设置的过于简单会报错:
原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关。
解决方法:
set global validate_password_policy=LOW;#设置密码等级为低级
set global validate_password_length=4;#设置密码长度为4
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';#更改密码为root
#具体密码自己设定,根具自己喜好
然后用新密码即可登陆成功
添加远程访问用户
这里的%通配符表示所有主机皆可访问
grant all privileges on *.* to root@"%" identified by 'password' with grant option
设置MySql不区分大小写
用root登录,打开并修改 /etc/my.cnf;在[mysqld]节点下,加入一行:
lower_case_table_names=1
重启mysql服务:
service mysqld restart