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

相关推荐
工业甲酰苯胺2 小时前
Redis性能优化的18招
数据库·redis·性能优化
没书读了3 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
i道i3 小时前
MySQL win安装 和 pymysql使用示例
数据库·mysql
小怪兽ysl3 小时前
【PostgreSQL使用pg_filedump工具解析数据文件以恢复数据】
数据库·postgresql
wqq_9922502774 小时前
springboot基于微信小程序的食堂预约点餐系统
数据库·微信小程序·小程序
爱上口袋的天空4 小时前
09 - Clickhouse的SQL操作
数据库·sql·clickhouse
Oak Zhang5 小时前
sharding-jdbc自定义分片算法,表对应关系存储在mysql中,缓存到redis或者本地
redis·mysql·缓存
聂 可 以5 小时前
Windows环境安装MongoDB
数据库·mongodb
web前端神器5 小时前
mongodb多表查询,五个表查询
数据库·mongodb
门牙咬脆骨5 小时前
【Redis】redis缓存击穿,缓存雪崩,缓存穿透
数据库·redis·缓存