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