【devOps】MySQL安装

本文详述了在CentOS7系统上彻底卸载旧版MySQL、安装MySQL5.7版本的步骤,包括通过yum和rpm方式卸载、关闭SELinux、配置防火墙及远程访问权限,以及设置MySQL服务开机启动。

系统:CentOS7.2

版本:MySQL5.7

一、卸载MySQL

    首先介绍MySQL的卸载,用以解决已经安装错误或者防止重装

#一、yum方式
yum list installed mysql*  #查看yum是否安装过mysql
yum remove mysql-community-client  #根据前面命令返回的列表中的名字进行卸载
rm -rf /var/lib/mysql  #删除文件
rm /etc/my.cnf   #删除配置文件

#二、rpm方式
rpm -qa | grep -i mysql    #rpm查看安装
rpm -e mysql57-community-release-el7-9.noarch #根据前面命令返回的列表中的名字进行卸载
cd /var/lib/ & rm -rf mysql/  #删除文件夹

#清除余项
whereis mysql  #查询余项
rm -rf /usr/bin/mysql  #根据上面命令返回的结果进行删除
#删除配置
rm –rf /usr/my.cnf
rm -rf /root/.mysql_sercret
#检查剩余配置
chkconfig --list | grep -i mysql
chkconfig --del mysqld


 

二、yum方式安装MySQL

#1、卸载MariaDB
rpm -qa | grep mariadb   #查询mariadb
rpm -e --nodeps mariadb-libs-5.5.47-1.el7_2.x86_64   #根据前面命令查询结果卸载

#2、关闭selinux
vim /etc/selinux/config
#把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器;该项用以解决启动MySQL service服务报错:ERROR!The server quit without updating PID file

#3、安装MySQL
#yum list | grep mysql
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum install mysql-community-server
service mysqld start #启动服务
cat /var/log/mysqld.log #或者使用vim查找,命令找到A temporary password is generated for root@localhost: qW/&5(2v7Q%g  读取root初始密码   qW/&5(2v7Q%g

#4、更改密码
mysql -uroot -p   #输入密码qW/&5(2v7Q%g
SQL>set global validate_password_policy=0;
SQL>set global validate_password_length=4;
SQL>ALTER USER USER() IDENTIFIED BY 'root123';

#5、重启mysql并开启远程访问
service start mysqld  #【service restart mysqld】
mysql -uroot -p  #使用新密码登录即可
SQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123' WITH GRANT OPTION;    #开启远程访问
firewall-cmd --zone=public --add-port=3306/tcp --permanent  #开放3306端口
firewall-cmd --reload #刷新防火墙端口
#systemctl restart firewalld.service  #重启防火墙服务

 

 

 

 

 

三、其他命令

0、彻底卸载mysql

       rpm -qa|grep mysql

       yum remove ******

       rm -rf /var/lib/mysql

       rm /etc/my.cnf

1、设置防火墙

远程访问 MySQL,需要开放 3306 端口:

firewall-cmd --permanent --zone=public --add-port=3306/tcp

firewall-cmd --permanent --zone=public --add-port=3306/udp

firewall-cmd --reload

如果是 CentOS 7,需要将 MySQL 服务加入防火墙,然后重启防火墙:

firewall-cmd --zone=public --permanent --add-service=mysql

systemctl restart firewalld

--------------------------------------------------------------------------------

提示:

在输入 firewall-cmd --permanent --zone=public --add-port=3306/tcp 时可能会报 'FirewallD is not running',是说防火墙本身就没有打开,解决方法:

① 查看防火墙状态:systemctl status firewalld,会发现状态是 dead,即防火墙未开启。

② 打开防火墙:systemctl start firewalld

③ 再次查看防火墙状态:systemctl status firewalld,这时会发现状态变为 running,即防火墙开启成功。

2、设置允许远程访问

默认情况下 MySQL 是不允许远程连接的,所以在 Java 项目或者 MySQLWorkbench 等数据库连接工具连接服务器上的 MySQL 服务的时候会报 "Host 'x.x.x.x' is not allowed to connect to this MySQL server"。可以通过下面的设置解决。详细可以参考之前写的一篇文章 XXX is not allowed to connect to this MySQL server

① grant all privileges on *.* to root@"%" identified by '0';

② flush privileges;

--------------------------------------------------------------------------------

提示:

在执行第一条命令的时候,可能会报:

'ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.' 需要让我们重置密码。原因是因为我刚刚的命令中设置的数据库密码是0,这个密码过于简单,不符合 MySQL 的安全要求。只要重新设置一个复杂点的密码就可以了:

mysql> SET PASSWORD = PASSWORD('xxx');   //xxx 是重置的新的复杂的密码

--------------------------------------------------------------------------------

思考

之前设置简单密码是没有问题的,可能原因:

① 可能目前环境是 CentOS 7 + MySQL 5.7.21,安全性有所提升。

② 也有可能是之前的数据库设置过

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

允许设置简单密码

3、相关命令

MySQL 相关:

systemctl start mysqld    #启动mysql

systemctl stop mysqld    #停止mysqld

systemctl restart mysqld    #重启mysqld

systemctl enable mysqld    #设置开机启动

systemctl status mysqld    #查看 MySQL Server 状态

防火墙相关:

systemctl status firewalld    #查看防火墙状态

systemctl start firewalld    #打开防火墙

systemctl stop firewalld    #关闭防火墙

systemctl restart firewalld    #重启防火墙

 

 

【持续更新,请至https://zorkelvll.cn/blogs/zorkelvll/articles/2018/11/02/1541171868657

 

【论文复现】一种基于价格弹性矩阵的居民峰谷分时电价激励策略【需求响应】(Matlab代码实现)内容概要:本文介绍了一种基于价格弹性矩阵的居民峰谷分时电价激励策略,旨在通过需求响应机制优化电力系统的负荷分布。该研究利用Matlab进行代码实现,构建了居民用电行为与电价变动之间的价格弹性模型,通过分析不同时间段电价调整对用户用电习惯的影响,设计合理的峰谷电价方案,引导用户错峰用电,从而实现电网负荷的削峰填谷,提升电力系统运行效率与稳定性。文中详细阐述了价格弹性矩阵的构建方法、优化目标函数的设计以及求解算法的实现过程,并通过仿真验证了所提策略的有效性。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事需求响应、电价机制研究或智能电网优化等相关领域的科研人员及研究生。; 使用场景及目标:①研究居民用电行为对电价变化的响应特性;②设计并仿真基于价格弹性矩阵的峰谷分时电价激励策略;③实现需求响应下的电力负荷优化调度;④为电力公司制定科学合理的电价政策提供理论支持和技术工具。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,深入理解价格弹性建模与优化求解过程,同时可参考文中方法拓展至其他需求响应场景,如工业用户、商业楼宇等,进一步提升研究的广度与深度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值