一 安装前准备1、检查是否已经安装过mysql,执行命令
[root@iZbp19ebgot9gze23wcdjjZ ~]# rpm -qa | grep mysql
从执行结果,可以看出我们已经安装了mysql-libs-5.1.73-5.el6_6.x86_64,执行删除命令
[root@iZbp19ebgot9gze23wcdjjZ ~]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
2、查询所有Mysql对应的文件夹
[root@iZbp19ebgot9gze23wcdjjZ ~]# whereis mysql
mysql: /usr/bin/mysql /usr/include/mysql
[root@iZbp19ebgot9gze23wcdjjZ ~]# find / -name mysql/data/mysql
/data/mysql/mysql
删除相关目录或文件
[root@iZbp19ebgot9gze23wcdjjZ ~]# rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
3、检查mysql用户组和用户是否存在
[root@iZbp19ebgot9gze23wcdjjZ ~]# cat /etc/group | grep mysql
mysql❌27:[root@iZbp19ebgot9gze23wcdjjZ ~]# cat /etc/passwd |grep mysql
mysql❌27:27:MySQL Server:/var/lib/mysql:/sbin/nologin
如果没有,则创建
[root@iZbp19ebgot9gze23wcdjjZ ~]# groupadd mysql
[root@iZbp19ebgot9gze23wcdjjZ ~]# useradd -r -g mysql mysql
4、从官网下载是用于Linux的Mysql安装包
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
20190625103130889.png
二 安装Mysql
1、在执行wget命令的目录下或你的上传目录下找到Mysql安装包: mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
执行解压命令:
[root@iZbp19ebgot9gze23wcdjjZ ~]# tar -xvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
[root@iZbp19ebgot9gze23wcdjjZ ~]# ls
file: haita-0.0.1-SNAPSHOT.jar ht.log jdk-8u231-linux-x64.rpm mysql-5.7.33-linux-glibc2.12-x86_64 nohup.out user
解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/下,并将文件夹名称修改为mysql。
如果/usr/local/下已经存在mysql,请将已存在mysql文件修改为其他名称,否则后续步骤可能无法正确进行。
执行命令如下:
[root@iZbp19ebgot9gze23wcdjjZ ~]# mv mysql-5.7.33-linux-glibc2.12-x86_64 /usr/local/[root@iZbp19ebgot9gze23wcdjjZ ~]# cd /usr/local/[root@iZbp19ebgot9gze23wcdjjZ ~]# mv mysql-5.7.33-linux-glibc2.12-x86_64 mysql
2、在/usr/local/mysql目录下创建data目录
[root@iZbp19ebgot9gze23wcdjjZ ~]# mkdir /usr/local/mysql/data
3、更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
[root@iZbp19ebgot9gze23wcdjjZ ~]# chown -R mysql:mysql /usr/local/mysql
[root@iZbp19ebgot9gze23wcdjjZ ~]# chmod -R 755 /usr/local/mysql
4、编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)
[root@iZbp19ebgot9gze23wcdjjZ ~]# cd /usr/local/mysql/bin
[root@iZbp19ebgot9gze23wcdjjZ bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
./mysqld --initialize --user=mysql --datadir=/data/mysql5.7.31/data --basedir=/data/mysql5.7.31/mysql
记录日志最末尾位置 root@localhost:后的字符串,此字符串为mysql管理员临时登录密码。
5、编辑配置文件my.cnf,添加配置如下
[root@iZbp19ebgot9gze23wcdjjZ ~]# vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
port=3306
symbolic-links=0
max_connections=600
innodb_file_per_table=1
log-error=/usr/local/mysql/data/error.log
6、测试启动mysql服务器
[root@iZbp19ebgot9gze23wcdjjZ ~]# /usr/local/mysql/support-files/mysql.server start
7、添加软连接,并重启mysql服务
[root@iZbp19ebgot9gze23wcdjjZ ~]# ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@iZbp19ebgot9gze23wcdjjZ ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@iZbp19ebgot9gze23wcdjjZ ~]# service mysql restart
8、登录mysql,修改密码(密码为步骤5生成的临时密码)
[root@iZbp19ebgot9gze23wcdjjZ ~]# mysql -u root -p
Enter password:
mysql>ALTER USER USER() IDENTIFIED BY ‘root’;
mysql>flush privileges;
9、开放远程连接
mysql>use mysql;
msyql>update user set user.Host=‘%’ where user.User=‘root’;
mysql>flush privileges;
10、出现mysql: consider upgrading MySQL client
mysql>use mysql
mysql> alter user ‘root’@‘%’ identified with mysql_native_password by ‘root’;
mysql>flush privileges;