卸载、安装、配置快捷mysql

发布于:2024-05-06 ⋅ 阅读:(29) ⋅ 点赞:(0)

卸载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 就可以了