CentOS7中安装MYSQL5.7数据库
创建文件夹
在CentOS7中创建用于存放rpm包的路径
mkdir /usr/local/mysql
然后cd进入创建路径下
cd /usr/local/mysql/
执行wget命令下载 mysql-5.7 的 rpm包
wget https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
安装镜像源
yum -y install mysql57-community-release-el7-10.noarch.rpm
安装 mysql 服务器
yum -y install mysql-community-server
如果安装 mysql 服务器出现如下报错
mysql-community-libs-compat-5.7.38-1.el7.x86_64.rpm 的公钥尚未安装,接着执行如下命令
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
然后再重新执行安装 mysql 服务器的命令就会成功安装
yum -y install mysql-community-server
安装完成,然后启动 mysql 数据库
systemctl start mysqld
查看运行状态
systemctl status mysqld
查看进程
ps -ef | grep mysqld
mysql正常运行后,要想进入 mysql 需要找出密码,通过下面的命令可找出日志文件中的密码
grep "password" /var/log/mysqld.log
如下命令登录数据库,回车输入密码
mysql -u root -p
注:如果登录密码时出现ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)错误,查看文尾解决办法!
因为MySQL默认必须修改密码之后才能操作数据库,如下命令修改密码(其中 new password 为你要设置的新密码),注意密码设置必须要大小写字母数字和特殊符号,不然不能配置成功
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
如果出现如下错误,是认为密码的复杂度不符合默认规定
如需修改密码复杂度参考如下命令,修改完成后重新执行修改密码命令:
修改为LOW就只验证密码的长度了
set global validate_password_policy=LOW;
修改密码的长度限制
set global validate_password_length=6;
开启mysql的远程访问
执行以下命令开启远程访问限制(注意:密码要写对,要不然远程链接不上 下面命令开启的所有的,如要开启单个的,用IP代替%)
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
注:password
是你设置你的mysql远程登录密码
然后再输入下面两行命令
flush privileges;
此步操作,退出mysql也可以执行,具体参考:
执行quit;
退出mysql,开启防火墙端口:
开启3306端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙:
firewall-cmd --reload
查看端口开启情况:
firewall-cmd --list-ports
更改mysql的语言
首先重新登录mysql,然后输入status;
可以看到,红色方框处不是utf-8,修改为utf8即可。
因此我们先退出mysql,然后再到 /etc 目录下的 my.cnf 文件下修改一下文件内容
进入文件后,新增四行代码:
保存更改后的 my.cnf 文件后,重启下 mysql ,然后再次登录 mysql 输入status;
再次查看
service mysqld restart
至此,完成安装!
FAQ解决办法:
1.登录密码时出现ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)错误
解决办法:
修改 /etc/my.cnf 配置文件
在[mysqld]下添加 skip-grant-tables,保存即可。
①重启 mysql:
service mysqld restart
②进入 mysql ,登录
mysql -u root -p
不用输入密码,直接回车(出现Enter Password 也一样直接回车,即可登陆成功)
③输入use mysql;
,修改root的密码:
update user set authentication_string=password('新密码') where user='root';
然后
flush privileges;
④退出:
quit;
⑤再次重启 mysql :
service mysqld restart
⑥去掉 /etc/my.cnf 配置文件中刚添加的 skip-grant-tables 保存,测试重新登录 mysql 是否成功