本文主要介绍在CentOS 7上面通过tar解压方式安装MySQL
一. 卸载系统自带的MySQL
1、安装前,我们可以检测系统是否自带安装 MySQL
[root@localhost /]# rpm -qa | grep mysql
如果你系统有安装,那可以选择进行卸载:
// 普通删除模式
[root@localhost /]# rpm -e mysql
// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
[root@localhost /]# rpm -e --nodeps mysql
如果执行 rpm -qa | grep mysql 出现以下内容,通过上面命令无法删除时:
使用下面命令进行删除:
[root@localhost /]# sudo yum -y remove mysql80-community-release-el7-1.noarch
2、删除mysql相关文件
//查询mysql相关文件
[root@localhost /]# find / -name mysql
/etc/rc.d/init.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
//使用以下命令逐个删除
[root@localhost /]#rm -rf /etc/rc.d/init.d/mysql
二、下载MySQL并上传服务器
1、下载MySQL
进入官网,选择对应的选项,点击下载就行。如下图:
2、上传服务器
通过工具将下载好的MySQL上传到服务器,推荐使用FinalShell进行上传,自带上传工具。
上传完成后(假如上传目录为:/home/tools/),则将文件解压到 /usr/local/ 目录下
# 将mysql解压到 /usr/local/ 目录下
[root@localhost /]# tar -zxvf /home/tools/myslq.5.7.x /usr/local
# 重命名为mysql
[root@localhost /]# mv /usr/local/myslq.5.7.x mysql
三、创建MySQL用户组和用户
1、查看用户信息
# 查询是否对mysql用户进行分组
[root@localhost /]# cat /etc/group | grep mysql
# 查询是否有mysql用户密码信息
[root@localhost /]# cat /etc/passwd | grep mysql
若执行上面命令没有数据,则添加mysql用户
[root@localhost /]# groupadd mysql
[root@localhost /]# useradd -r -g mysql mysql
2、对创建的用户进行mysql文件的授权
[root@localhost /]# chown -R mysql:mysql /usr/local/mysql
3、创建 data
文件并授权, 用来存放数据文件
[root@localhost /]# mkdir /usr/local/mysql/data
[root@localhost /]# chown -R mysql:mysql data
[root@localhost /]# chmod 777 mysql/ 赋予最高权限(所有用户都可以使用)
4、修改mysql的配置文件,如果/etc/my.cnf 不存在,则创建一个
# 创建my.cnf文件
[root@localhost /]# touch /etc/my.cnf
# 编辑文件
[root@localhost /]# vi /etc/my.cnf
# 添加如下内容到my.cnf文件中
[mysql]
#修改默认字符集
default-character-set=utf8
[mysqld]
basedir=/usr/lcoal/mysql
datadir=/usr/lcoal/mysql/data
port = 3306
#忽略大小写
lower_case_table_names=1
#服务端默认字符集
character-set-server=utf8
#最大连接数
max_connections=2000
#创建数据库时默认数据引擎
default-storage-engine=INNODB
explicit_defaults_for_timestamp=true
# 添加权限
[root@localhost /]# chmod 777 /etc/my.cnf
5、检查是否有libaio库
# 检查是否有libaio库
[root@localhost /]# rpm -qa|grep libaio
# 如果libaio库时,则执行下面命令进行安装
[root@localhost /]# yum install libaio
四、安装MySQL
1、初始化mysql
# 切换目录
[root@localhost local]# cd /usr/local/mysql
# 初始化MySQL
[root@localhost local]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data #会生成root的随机密码,需记住此密码,后续登录用到
2、设置mysql环境变量
[root@localhost /]# vim /etc/profile
在文件中添加如下配置:
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
#使配置文件生效
[root@localhost /]# source /etc/profile
3、启动相关配置
#添加MySQL到服务
[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@localhost /]# chmod +x /etc/init.d/mysqld
# 添加MySQL开机启动
[root@localhost /]# chkconfig --add mysqld
[root@localhost /]# chkconfig --list
#显示服务列表,如果看到mysqld的服务,并且3,4,5都是”on/开启 “的话则成功,如果是off/关闭,则输入以下命令:
[root@localhost /]# chkconfig --level 345 mysqld on 命令
4、启动&关闭&重启mysql服务的命令
# 启动MySQL服务
[root@localhost /]# service mysqld start
# 停止MySQL服务
[root@localhost /]# service mysqld stop
# 重启MySQL服务
[root@localhost /]# service mysqld restart
五、登录修改MySQL密码
1、登录
[root@localhost /]# mysql -u root -p
# password # 前面初始化的时候生成的密码
2、修改密码
mysql> set password=password("new password");
mysql> flush privileges;
3、设置授权任何IP地址都可以登录
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
mysql> flush privileges;
4、退出mysql
mysql> exit/quit/Ctrl+D; #使用其中一个命令都可以退出
六. 修改防火墙设置,开发3306端口,远程可以连接
1、查看防火墙开放的端口
[root@localhost /]# firewall-cmd --list-ports
2、开放mysql访问3306端口
[root@localhost /]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
3、重启防火墙
[root@localhost /]# firewall-cmd --reload
设置完成之后就可以通过工具进行远程连接了。