MYSQL完全卸载、安装与账号创建、权限控制

一、卸载mysql

CentOS 卸载 MySQL

1. 查看安装情况

使用以下命令查看当前安装mysql情况,查找以前是否装有mysql

bash 复制代码
rpm -qa|grep -i mysql

这里显示我安装的 MySQL 服务有有:

2. 停止 mysql 服务、删除之前安装的 mysql

  • 删除命令:rpm -e --nodeps 包名
bash 复制代码
rpm -ev mysql-community-libs-5.7.22-1.el7.x86_64
rpm -ev mysql-community-common-5.7.22-1.el7.x86_64
rpm -ev mysql-community-client-5.7.22-1.el7.x86_64
rpm -ev mysql-community-server-5.7.22-1.el7.x86_64
  • 使用上面命令报依赖错误,使用下面命令
bash 复制代码
rpm -ev mysql-community-libs-5.7.22-1.el7.x86_64 --nodeps
rpm -ev mysql-community-common-5.7.22-1.el7.x86_64 --nodeps
rpm -ev mysql-community-client-5.7.22-1.el7.x86_64 --nodeps
rpm -ev mysql-community-server-5.7.22-1.el7.x86_64 --nodeps
  • 如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1,使用下面命令
bash 复制代码
rpm -e --noscripts mysql-community-libs-5.7.22-1.el7.x86_64
rpm -e --mysql-community-common-5.7.22-1.el7.x86_64
rpm -e --noscripts mysql-community-client-5.7.22-1.el7.x86_64
rpm -e --noscripts mysql-community-server-5.7.22-1.el7.x86_64

3.删除 MySQL 目录

查找之前老版本mysql的目录、并且删除老版本mysql的文件和库

  • 查找文件
bash 复制代码
find / -name mysql
  • 删除文件
bash 复制代码
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/lib64/mysql


注意: 卸载后/etc/my.cnf不会删除,需要进行手工删除

  • 删除 my.cnf
bash 复制代码
rm -rf /etc/my.cnf
  • 再次查看是否安装 MySQL
bash 复制代码
rpm -qa|grep -i mysql
  • 重启你的 Linux 服务器(这一步也可以不做)
bash 复制代码
reboot

4. Linux 中常用 MySQL 命令

bash 复制代码
序号	命令	作用
1	netstat -tulpn	查看端口号
2	service mysqld status	查看 MySQL 状态
3	service mysqld start	启动 MySQL
4	两种方式:
service mysqld stop
mysqladmin -p -u root shutdown	关闭 MySQL
5	service mysqld restart	重启 MySQL
6	cat /etc/my.cnf	查看 MySQL 配置
7	rpm -qa	grep -i mysql

二、安装mysql

centos中安装mysql57

1.查看是否安装过mysql和Mariadb,否则卸载

bash 复制代码
rpm -qa|grep -i mysql
rpm -qa|grep mariadb
#使用下列命令卸载
rpm -e --nodeps [包名]

2.删除etc下的conf

bash 复制代码
rm -rf /etc/my.conf

3.找一个合适位置下载安装包并安装

bash 复制代码
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm 
yum -y install mysql-server

4.启动mysql服务

bash 复制代码
systemctl start mysqld 

5.获取mysql临时密码并进入mysql

bash 复制代码
grep 'temporary password' /var/log/mysqld.log
#有些路径为 /var/log/mysql/mysqld.log
mysql -uroot -p
[输入临时密码]

#有些获取不到临时密码,但会告诉不需要密码就可以进入
mysql -u root

6. 修改mysql密码

bash 复制代码
use mysql
ALTER USER 'root'@'localhost' IDENTIFIED BY '修改的密码'; 

7.修改任何地址都可以访问(如果没有需求就可不设置)

bash 复制代码
update user set Host='%' where User='root';
flush privileges;  #刷新权限

8. 如果数据库挂了就重新启动

bash 复制代码
service mysqld start	#启动mysql
service mysqld status	#查看mysql状态
service mysqld stop		#停止mysql

9.注意事项

注意数据库创建时,编码格式和数据库排序规则应该为

bash 复制代码
编码格式:utf8
排序规则:utf8_general_ci

三、新建账号和权限管控

https://www.php.cn/faq/544449.html

相关推荐
晋阳十二夜4 小时前
【压力测试之_Jmeter链接Oracle数据库链接】
数据库·oracle·压力测试
GDAL5 小时前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js
DCTANT6 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
程序员岳焱8 小时前
Java 与 MySQL 性能优化:MySQL全文检索查询优化实践
后端·mysql·性能优化
喜欢敲代码的程序员8 小时前
SpringBoot+Mybatis+MySQL+Vue+ElementUI前后端分离版:项目搭建(一)
spring boot·mysql·elementui·vue·mybatis
AI、少年郎9 小时前
Oracle 进阶语法实战:从多维分析到数据清洗的深度应用(第四课)
数据库·oracle
赤橙红的黄9 小时前
自定义线程池-实现任务0丢失的处理策略
数据库·spring
钢铁男儿9 小时前
C# 委托(调用带引用参数的委托)
java·mysql·c#
叁沐9 小时前
MySQL 02 日志系统:一条SQL更新语句是如何执行的?
mysql
DataGear9 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化