mysql 安装后不能启动,报错如下:请参照本说明第7条的办法解决。
mysqld.service: Control process exited, code=exited status=1
Please read “Security” section of the manual to find out how to run mysqld as root
如果mysql安装遇到了错误如下:请参照第5条的办法解决。
All matches were filtered out by modular filtering for argument: mysql-community-server
Error: Unable to find a match: mysql-community-server
具体⽇志错误日志文件:在MySQL 配置⽂件 /etc/my.cnf 中有设置。
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
1.检查CentOS是否有系统自带的mysql
yum list installed | grep mysql
2.如果存在系统自带的mysql及依赖,则通过 yum remove 将其卸载
卸载后记得执行以下命令删除数据库文件,(删除数据库前请自己确认是否有重要数据库文件!)
rm -rf /var/lib/mysql #这个是centos下的数据库文件位置
3.CentOS中下载rpm包,并安装本地mysql源
下载rpm包:yum localinstall mysql80-community-release-el7-3.noarch.rpm
通过 yum localinstall 安装mysql源,可以帮助我们解决本地rpm包的依赖问题。
最后,验证是否安装成功:yum repolist all | grep mysql
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
yum repolist all | grep mysql
4.修改默认安装版本为5.7
从上面的图片,我们可以看到,默认是MySQL 8.0可用,我们若想安装MySQL 5.7,则需启用5.7。接下来通过直接修改配置文件来设置启用。
vim /etc/yum.repos.d/mysql-community.repo
输入上面的命令,在编辑界面,先输入 i 进入编辑模式,将8.0的 enabled 设置为0,将5.7的 enabled 设置为1
5.安装
yum install -y mysql-community-server
如果遇到了错误
All matches were filtered out by modular filtering for argument: mysql-community-server
Error: Unable to find a match: mysql-community-server
解决方法
sudo yum module disable mysql
重复 yum install -y mysql-community-server
6.遇到了错误
Public key for mysql-community-client-5.7.38-1.el7.x86_64.rpm is not installed. Failing package is: mysql-community-client-5.7.38-1.el7.x86_64
解决方法
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
或者这样,我是这样解决的:
yum install mysql-community-server --nogpgcheck
检查
sudo systemctl status mysqld
7.启动
sudo systemctl start mysqld
如果无法启动,可能是以前安装其他版本MYSQL有文件残留
先卸载mysql
yum remove mysql
yum -y remove mysql*
然后删除: rm -rf /var/lib/mysql #删除数据库前请自己确认是否有重要数据库文件!
重新运行安装命令:
yum install mysql-community-server --nogpgcheck
service mysqld start
再次启动服务成功!
8.查看临时密码
sudo grep 'temporary password' /var/log/mysqld.log
9.更改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
10.配置
mysql_secure_installation
ps.直接安装最新版:
sudo dnf -y install @mysql
登录 创建root管理员和密码
mysqladmin -u root password 123456
登录: mysql -u root -p输入密码即可。
忘记密码
service mysqld stop;
mysqld_safe --user=root --skip-grant-tables;
这一步骤执行的时候不会出现新的命令行,你需要重新打开一个窗口执行下面的命令
mysql -u root;
use mysql ;
update user set password=password("123456") where user="root";
flush privileges;
远程访问 开放防火墙的端口号mysql
增加权限:mysql库中的user表新增一条记录Host为“%”,User为“root”。
一般开发测试直接把防火墙关闭
su root
service iptables stop #关闭防火墙
service iptables status #验证是否关闭
chkconfig iptables off #关闭防火墙的开机自动运行
chkconfig –list | grep iptables #验证防火墙的开机自动运行
vim /etc/sysconfig/selinux # 禁用selinux,将SELINUX=disabled
授权用户可以从远程登陆
grant all PRIVILEGES on *.* to root@'%' identified by '123456替换自己的密码';
flush privileges ;