卸载、安装、配置快捷mysql

卸载mysql

1、筛选过滤出mysql相关组件
复制代码
rpm -qa | grep mysql
2、关闭MySQL服务
复制代码
systemctl stop mysql.service 
3、卸载对应组件命令如下:
复制代码
rpm -ev --nodeps [显示的组件名称] 
4、查找MySQL对应的所有文件夹
复制代码
find / -name mysql 

rm -rf [显示的文件夹路径] 

检查mysql是否删除干净

复制代码
whereis mysql  
5、删除mysql用户及用户组

使用命令查看指定文件夹下的mysql

复制代码
more /etc/passwd | grep mysql 
more /etc/shadow | grep mysql 
more /etc/group  | grep mysql 

使用命令删除mysql用户和用户组

复制代码
userdel mysql 
groupdel mysql

删除完成后再次检查文件夹mysql信息是否清空

安装mysql

mysql-5.7.32安装

系统默认会安装mariadb,必须卸载

复制代码
 #查看mariadb是否安装
 yum list installed | grep mariadb
 #卸载
 yum -y remove mariadb-libs.x86_64

解压缩

复制代码
tar -zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz

修改文件名

复制代码
mv  mysql-5.7.32-linux-glibc2.12-x86_64  mysql-5.7.32

创建data目录

复制代码
cd /usr/local/mysql-5.7.32
mkdir data

创建用户mysql

复制代码
useradd mysql -r -s   /bin/false 

初始化数据库

复制代码
cd bin
./mysqld --initialize --datadir=/usr/local/mysql-5.7.32/data/   --basedir=/usr/local/mysql-5.7.32   --user=mysql

初始化如果报错

复制代码
yum install  libaio-devel.x86_64

记住下面的root密码,一会访问数据库会用到

在data目录下创建my.cnf文件

复制代码
vim my.cnf

复制下面内容到my.cnf文件中

复制代码
[client]
port     =3307
socket   =/usr/local/mysql-5.7.32/data/mysql.sock
default-character-set=utf8
[mysqld]
port     =3307
socket   =/usr/local/mysql-5.7.32/data/mysql.sock
datadir  =/usr/local/mysql-5.7.32/data
log-error=/usr/local/mysql-5.7.32/data/error.log
character-set-server=utf8
lower_case_table_names=1
autocommit =1

设置data目录路径

复制代码
 cd /usr/local/mysql-5.7.32/bin/
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.32/data/

为mysql用户设置mysql-5.7.32的访问权限

复制代码
 chown -R mysql.mysql /usr/local/mysql-5.7.32

后台启动mysql

复制代码
 ./mysqld_safe &

访问数据库,密码输入上面生成的密码

复制代码
 ./mysql  -uroot -p

重新设置root用户的密码,并设置远程访问

复制代码
mysql> alter  user 'root'@'localhost'  identified by  '123456';
mysql> CREATE USER 'root'@'%' IDENTIFIED BY '密码'; //root创建外部访问权限
mysql> GRANT ALL ON *.* TO 'root'@'%'; //授权
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码'; 
mysql> FLUSH PRIVILEGES;

配置环境变量

mysql -uroot -p时提示 command not found

复制代码
[root@bogon bin]# mysql -uroot -p
bash: mysql: command not found

原因:这是由于系统基于环境变量去对应路径下查找命令,如果这个命令不在这个目录下,当然会找不到命令。

解决思路

系统其他目录下执行一个命令时,系统会去环境变量目录下去查找此命令,当我们执行命令时报出找不到这个命令时则表明该环境变量下没有这个链接,我们需要做的就是映射一个链接到环境变量路径下,相当于建立一个链接文件。

复制代码
ln -s /opt/app/media/mysql-5.7.32/bin/mysql /usr/bin

建立好链接文件后,再试一下 mysql -uroot -p 就可以了

相关推荐
Dxy123931021615 分钟前
MySQL如何高效查询表数据量:从基础到进阶的优化指南
数据库·mysql
Dying.Light19 分钟前
MySQL相关问题
数据库·mysql
蜡笔小炘1 小时前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长1 小时前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
Re.不晚2 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
老邓计算机毕设2 小时前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台
麦聪聊数据2 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
2301_790300962 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_736919102 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
亓才孓2 小时前
[JDBC]PreparedStatement替代Statement
java·数据库