文章目录
- 1.安装mysql的前置条件
- 2.清理原有的mysql数据库
- 3.查看是否安装mariadb
- 4.安装mysql依赖包
- 5.解压缩mysql包
- 6.安装目录赋权限(注:R必须是大写)
- 7.创建MySQL组
- 8.将mysql目录的权限授给mysql用户和mysql组
- 9.创建mysql安装初始化配置文件
- 10.初始化mysql
- 11.启动MySQL服务
- 12.mysql加入系统进程中
- 13.修改随机登录密码
- 14.设置允许远程登录
- 15.防火墙设置
- 16.配置环境变量
通过mysql的tar包的方式。
看完此文章,如遇到问题和疑问,可以私信我。
1.安装mysql的前置条件
- 如果你是虚拟机上的CentOS系统,需要先配置好yum的镜像仓库地址(如果是云服务器的系统,则不是必须配置好)
- 提前下载好Linux版本的mysql版本(例如:mysql-8.0.21-el7-x86_64.tar.gz)
- 安装xshell(SSH远程连接(虚拟机本地的系统可以直接在虚拟机的系统操作,不是很必要))和FileZilla Client(向服务器的CentOS直接传文件的软件)。这些软件安装相同功能的也可以,不必要一样的。
- 在CnetOS目录下建一个放置你压缩包的目录(记住这个目录)。我的mysql-8.0.21-el7-x86_64.tar.gz上传放在了/root/software/目录下(没有software,自己新建)。
2.清理原有的mysql数据库
通过一下命令查找出已安装的mysql、软件包和依赖包:
[root@VM-12-15-centos ~]# rpm -pa | grep mysql
显示结果:
mysql80-community-release-el7-1.noarch
mysql-community-server-8.0.11-1.el7.x86_64
mysql-community-common-8.0.11-1.el7.x86_64
mysql-community-libs-8.0.11-1.el7.x86_64
mysql-community-client-8.0.11-1.el7.x86_64
使用以下命令依次删除上面的程序:
[root@VM-12-15-centos ~]# yum remove mysql-xxx.xxx
删除mysql的配置文件,卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件;
[root@VM-12-15-centos ~]# find / -name mysql
可能得显示结果如下:
/etc/logrotate.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
/etc/selinux/targeted/tmp/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/local/mysql
根据需求使用以下命令 依次 对配置文件进行删除(可以不进行操作),例如(-rf命令一定确保文件没有实际用处了使用):
[root@VM-12-15-centos ~]# rm -rf /etc/logrotate.d/mysql
3.查看是否安装mariadb
因为mariadb是mysql的分支子集,不删除的话对安装mysql会有影响冲突。
执行命令:
[root@VM-12-15-centos ~]# rpm -qa | grep mariadb
这样显示是没有文件,有的话执行命令:
[root@VM-12-15-centos ~]# rpm -e --nodeps mariadb-xxxx
卸载后,可以再通过查找命令,看一下是否卸载成功(以下执行的相似的命令,也可以这样查看)。
4.安装mysql依赖包
执行命令:
[root@VM-12-15-centos ~]# yum install libaio
5.解压缩mysql包
前置条件中,已将通过传送文件的软件将mysql压缩包传送到你新建的目录。
查看你的压缩包:
进入相应的文件夹
[root@VM-12-15-centos ~]# cd /root/software/
查看文件夹有什么东西:
输入解压命令:
tar -zxvf 需要解压的文件名 -C 解压文件放在哪个目录
例如:
[root@VM-12-15-centos software]#tar -zxvf /root/software/mysql-8.0.21-el7-x86_64.tar.gz -C /usr/local
这里会执行一段时间,执行成功后,进入/usr/local/目录,通过ls查看是否有mysq-xxx的文件夹。
文件夹改名命令:
[root@VM-12-15-centos local]# mv /usr/local/mysql-8.0.21-el7-x86_64 mysql
创建mysql数据存放目录mysqldb,执行命令(这些命令都是一行一行执行的,下面的都是如此,别全复制粘贴过去):
[root@VM-12-15-centos lcoal]# cd /usr/local/mysql/
[root@VM-12-15-centos mysql]# mkdir /usr/local/mysql/mysqldb
[root@VM-12-15-centos mysql]# ls -al
6.安装目录赋权限(注:R必须是大写)
[root@VM-12-15-centos mysql]# chmod -R 777 /usr/local/mysql/
[root@VM-12-15-centos mysql]# chmod -R 777 /usr/local/mysql/mysqldb/
7.创建MySQL组
创建mysql用户,并且设置密码(mysql123456,自己记住就行,不能是太简单的密码,像是123456,否则会报错)
[root@VM-12-15-centos mysql]# groupadd mysql
[root@VM-12-15-centos mysql]# useradd mysql
[root@VM-12-15-centos mysql]# passwd mysql123456
8.将mysql目录的权限授给mysql用户和mysql组
[root@VM-12-15-centos mysql]# chown -R mysql:mysql /usr/local/mysql
查看:
[root@VM-12-15-centos local]# ll
9.创建mysql安装初始化配置文件
[root@VM-12-15-centos mysql]# vi /etc/my.cnf
vi编辑没有颜色,vim如果下载了,使用vim,有颜色区分。
[root@VM-12-15-centos mysql]# vim /etc/my.cnf
添加下面的命令,并保存退出(复制粘贴后,修改basedir和datadir路径,按Esc件,输入:wq,保存并退出)
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
通过以下命令,查看my.cnf文件。
10.初始化mysql
首先,进入mysql的bin目录下:
[root@VM-12-15-centos mysql]# cd /usr/local/mysql/bin/
[root@VM-12-15-centos bin]# ./mysqld --initialize --console
这里有时会出现错误:
错误一:
这个错误的意思,你没有下载那个依赖。
如果安装mysql出现了以上的报错信息.这是却少numactl,这个时候如果是Centos就执行
[root@VM-12-15-centos bin]# yum -y install numactl
ubuntu的就执行
sudo apt-get install numactl
就可以解决这个问题。
没问题的话,执行初始化启动命令。
[root@VM-12-15-centos bin]# ./mysqld --initialize --console
后记住随机密码(一般在最后面,多数是很乱的英文字母),一会修改密码会用到。
11.启动MySQL服务
[root@VM-12-15-centos bin]# cd …/support-files/
[root@VM-12-15-centos support-files]# ./mysql.server start
这里很可能会出现错误。
错误类型一:
在mysql安装目录下重新授权后,再次字形启动MySQL命令:
[root@VM-12-15-centos support-files]# chmod -R 777 /usr/local/mysql
错误类型二:
通过命令
[root@VM-12-15-centos support-files]# ps -ef | grep mysql
查看是否已有mysql在启动。
可以看到有两个相关进程,命令kill -9 端口号(如图中的14099)杀掉进程!
再次启动服务。
看是否会显示启动成功提示信息。
12.mysql加入系统进程中
[root@VM-12-15-centos support-files]# cp mysql.server /etc/init.d/mysqld
重启MySQL服务:
[root@VM-12-15-centos support-files]# service mysqld restart
13.修改随机登录密码
在bin目录下执行(此处建议用手动输入,复制粘贴有时会出现错误)
[root@VM-12-15-centos bin]# ./mysql -u root -p
输入刚才记住的随机密码,点击Enter进入,会出现mysql>。
输入(其中最后的root是你的root账户的数据库密码,更改为你的密码即可):
mysql> alter user ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’;
14.设置允许远程登录
输入一行,执行一行。
mysql> use mysql
mysql> update user set user.Host=’%'where user.User=‘root’; <此处复制可能会出问题>
mysql> flush privileges;
再输入quit退出。
重启服务即可。
[root@VM-12-15-centos bin]# service mysqld restart
15.防火墙设置
方法一:
1.设置防火墙通过端口3306.
方法二:
关闭防火墙。
[root@VM-12-15-centos bin]# systemctl stopfirewalld.service
16.配置环境变量
[root@VM-12-15-centos bin]# vi /etc/profile
在文件的最后加上如下两行:
export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:/usr/local/mysql/support-files
按Esc键,输入:wq(保存退出)。
执行:
[root@VM-12-15-centos bin]# source /etc/profile
至此,安装mysql成功,可以再Navicat xx for MySQL数据库管理软件,进行此数据库的连接。
如有疑问,可以私信我。