在centOS7中启动MySQL数据库提示:
Failed to start mysqld.service: Unit not found
在CentOS7中已经不在推荐使用mysql,甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险。
鉴于一直有人呛我,说什么解决MySQL的问题安装MariaDB干什么,我确实也挺无语的。我觉得解决问题应该以结果为导向,问题能得到解决,我觉得就是好办法。
MariaDB的方式确实也是借鉴的大家主流的做法,为此我还专门去外网查了查国外大佬都是怎么解决的,发现也有很多是采用MariaDB替代MySQL:
https://stackoverflow.com/questions/31067135/in-centos7-can-not-start-mysql
https://www.linode.com/community/questions/17652/failed-to-start-mysqldservice-unit-not-found
他当初还剖出了自己写的文章的地址,他自己在我的评论里删了,我给你剖出来:
https://blog.csdn.net/shenhaiyushitiaoyu/article/details/121396643?spm=1001.2014.3001.5501
这种方法我自己并没有验证,思路就是查找mysql.service这个文件,然后将这个文件复制到/etc/init.d目录下,这里我就不详细展开了,免得人家说我抄袭,但我网上查了查,类似的做法以前也早就有了,也很难说你就是原创的。
https://blog.csdn.net/q908544703/article/details/91376995
https://blog.csdn.net/luChenH/article/details/104376913
MariaDB是MySQL另起炉灶的开源版本,如同 MySQL 的影子版本,MariaDB数据库是 MySQL 的一个分支版本(branch),提供的功能可和 MySQL 完全兼容。
1、首先需要安装mariadb-server
yum install -y mariadb-server
2、启动服务
systemctl start mariadb.service
3、添加到开机启动
systemctl enable mariadb.service
4、进行一些安全设置,以及修改数据库管理员密码
mysql_secure_installation
use mysql;
select User,authentication_string,Host from user;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
flush privileges;
exit;
MariadDB 启动时报错
Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.
解决方法:
[root@cdh01 mysql]# cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
[root@cdh01 mysql]# systemctl start mariadb.service
我们公司打从前年就已经开始拥抱虚拟化了,不认同MariadDB 非要使用MySQL的人可以选择使用docker部署,docker部署也更加简单:
1、首先要部署docker服务:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
或者
curl -sSL https://get.daocloud.io/docker | sh
输入docker -v查看docker是否安装成功:
2、docker拉取MySQL镜像:
docker pull mysql:latest
如果不想拉取最新版,可以去下面的网站,拉取指定版本的MySQL:
https://hub.docker.com/_/mysql?tab=tags
3、docker查看本地镜像:
docker images
4、运行MySQL容器:
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
参数说明:
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
5、docker ps可查看已启动的docker容器