CentOS7环境安装MySQL8.0

在CentOS7上启动启动MySQL8.0出错,原来是因为MySQL现在使用成MariaDB代替

安装mysql8.0流程参考

[root@localhost ~]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
Failed to start mysqld.service: Unit not found

解决方法:

# 安装
	yum install -y mariadb-server
# mariadb数据库的相关命令是:
	systemctl start mariadb  # 启动MariaDB
	systemctl stop mariadb  # 停止MariaDB
	systemctl restart mariadb  # 重启MariaDB
	systemctl enable mariadb  # 设置开机启动

MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

安装完成后:

# 初始密码查看方法
	grep "password" /var/log/mysqld.log
# 启动musql服务
	service mysqld start
# 登录mysql修改初始密码
# MySQL 8.0 调整密码验证规则
	mysql> set global validate_password.policy=0;
	mysql> set global validate_password.length=1;
	ALTER USER USER() IDENTIFIED BY '设置密码';

常用关键指令

# mysql开启服务命令:
	systemctl status mysqld.service
	#重启服务
	systemctl restatus mysqld.service
# mysql停止服务命令:
	systemctl stop mysqld.service
# 查看配置文件所在路径:
	mysql>show variables like *'%dir%'*;  

mysql8.0开启远程连接权限

1、配置授权用户远程登录;

方式一:授权root用户

# 登录mysql命令行
    mysql> use mysql;
    mysql> select host,user from user;
    mysql> update user set host = '%' where user = 'root';
    flush privileges;

方式二:授权其他用户

# 1、修改密码
  	alter user '用户名称'@'%' IDENTIFIED BY '新密码';
# 2、创建用户及修改权限create user '用户名称'@'%' identified by '密码';
  	如果你允许myql被远程连接,这里%表示ip地址
  	mysql>grant all privileges on 数据库名称.* to '用户名称'@'%';
  	mysql>flush privileges;

2、允许远程连接配置

# 开启端口
 	firewall-cmd --zone=public --add-port=3306/tcp --permanent 
# 查询端口号3306是否开启
 	firewall-cmd --query-port=端口/tcp
# 重启防火墙             
 	firewall-cmd --reload                  
# 查看已打开的端口
	firewall-cmd --list-ports
# 查看firewall防火墙状态
    firewall-cmd --state
# 关闭端口
	firewall-cmd --permanent --zone=public --remove-port=端口/tcp --permanent 
命令含义:
--zone                          	 #作用域
--add-port=3306/tcp                  #添加端口,格式为:端口/通讯协议
--permanent                    	     #永久生效,没有此参数重启后失效
 
关闭firewall:
systemctl stop firewalld.service     #停止firewall

systemctl disable firewalld.service  #禁止firewall开机启动
systemctl enable firewalld.service

常用端口配置参考

可能出现的问题

解决方案参考

# 刷新权限
flush privileges;
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
原文地址:https://www.cnblogs.com/hhddd-1024/p/14508286.html