卸载、安装、配置快捷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 就可以了

相关推荐
大霸王龙26 分钟前
在 Django 中使用 SMTP 发送邮件是一个常见的需求
数据库·django·sqlite
iVictor30 分钟前
MySQL 优化利器 SHOW PROFILE 的实现原理
mysql
纪伊路上盛名在1 小时前
爬虫1:uniprot蛋白质序列数据+canvas图片
数据库·学习·知识图谱·学习方法
程序员黄同学3 小时前
如何使用 Python 连接 MySQL 数据库?
数据库·python·mysql
新手小袁_J4 小时前
实现Python将csv数据导入到Neo4j
数据库·python·neo4j·《我是刑警》·python连接neo4j·python导入csv·csv数据集导入neo4j
シ風箏4 小时前
Neo4j【环境部署 02】图形数据库Neo4j在Linux系统ARM架构下的安装使用
linux·数据库·arm·neo4j
张声录14 小时前
【ETCD】【实操篇(四)】etcd常见问题快问快答FAQ
数据库·etcd
CherishTaoTao6 小时前
sqlite基础
数据库·oracle·sqlite
嶔某7 小时前
MySql:基本查询
数据库·mysql
开心工作室_kaic9 小时前
springboot461学生成绩分析和弱项辅助系统设计(论文+源码)_kaic
开发语言·数据库·vue.js·php·apache