现象:
启动MySQL数据库提示:
Failed to start mysqld.service: Unit not found
在CentOS7中已经不在支持mysql,就算你已经安装了,CentOS7还是表示很嫌弃。
原因:
知乎:
CentOS 7为什么放弃了MySQL,而改使用MariaDB?
百度:
解决方案
安装mysql的作者另起炉灶的开源版本:maria DB
(maria DB如同 MySQL 的影子版本,玛莉亚数据库是 MySQL 的一个分支版本(branch),而不是衍生版本(folk),提供的功能可和 MySQL 完全兼容)。
1.安装:
yum install -y mariadb-server
2.启动maria DB服务:
systemctl start mariadb.service
(说明:CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替。)
3.添加至开机自启动:
systemctl enable mariadb.service
初始化数据库配置
mysql_secure_installation
首先是设置密码,会提示先输入密码:
设置密码
Enter current password for root (enter for none):<–直接回车
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,Y回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录, N回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,Y回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,Y回车
初始化MariaDB完成,接下来测试本地登录。
配置文件位置:vim /etc/my.cnf.d/mysql-clients.cnf
开启远程访问
本地登录数据库执行下面命令:
首先配置允许访问的用户,采用授权的方式给用户权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
最后配置好权限之后不应该忘记刷新使之生效 说明:root是登陆数据库的用户,123456是登陆数据库的密码,*就是意味着任何来源任何主机反正就是权限很大的样子。
flush privileges;
再次访问就可以了吧。开启centOS7的防火墙端口3306:https://www.cnblogs.com/moxiaoan/p/5683743.html