一、下载
在MySQL
官网,点击上方的DOWNLOADS
选择MySQL Community (GPL) Downloads »
选择Download Archives
选择MySQL Community Server
选择所需要的下载
如果有小伙伴不在乎版本的话,也可以下载下面的版本
网盘链接 提取码:81rx
二、安装
1.查看是否已经安装过MySQl
rpm -qa | grep mysql
2.将压缩包导入
使用Xftp
将压缩包导入(路径为本人个人习惯,可修改)
或者直接使用命令进行直接下载(前提条件是已经联网)
这里下载的是5.6的版本,可以自己修改其他的版本
wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz
3.解压
####如果以.xz结尾的文件,使用-xvf解压,例子如下
tar -xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
####如果以.gz结尾的文件,使用-zxvf解压,例子如下
tar -zxvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.gz
解压后的结果如下
[root@localhost 02-mysql]# ll
total 339664
drwxr-xr-x. 9 7161 31415 129 Jun 17 2020 mysql-8.0.21-linux-glibc2.12-x86_64
-rw-r--r--. 1 root root 347814208 Oct 5 09:00 mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
如果有小伙伴有删除压缩包的习惯,可以利用下方命令进行删除
rm -rf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
将文件夹的名称从mysql-8.0.21-linux-glibc2.12-x86_64
改为mysql
(本人没有这个习惯,还是用的原来的名字)
mv mysql-8.0.21-linux-glibc2.12-x86_64/ mysql
4.添加用户
[root@localhost 02-mysql]# groupadd mysql
[root@localhost 02-mysql]# useradd -r -g mysql mysql
[root@localhost 02-mysql]# groups mysql
5.修改mysql
目录拥有者为刚建立的mysql
用户
[root@localhost 02-mysql]# cd mysql-8.0.21-linux-glibc2.12-x86_64
[root@localhost mysql-8.0.21-linux-glibc2.12-x86_64]# chown -R mysql:mysql ./
6.创建数据目录并赋予权限
[root@localhost local]# mkdir -p /data/mysql
[root@localhost local]# chown mysql:mysql -R /data/mysql
[root@localhost local]# cd /data/mysql
[root@localhost mysql]# ll
total 0
[root@localhost mysql]# cd ..
[root@localhost data]# ll
total 0
drwxr-xr-x. 2 mysql mysql 6 Oct 5 10:05 mysql
7.配置my.cnf
使用命令打开my.cnf
文件
vim /etc/my.cnf
输入内容
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/01-install/02-mysql/mysql-8.0.21-linux-glibc2.12-x86_64
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
其余的东西全部注释掉,不然会报错!!!
8.初始化数据库
进入的bin
目录进行初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/01-install/02-mysql/mysql-8.0.21-linux-glibc2.12-x86_64/ --datadir=/data/mysql/ --user=mysql --initialize
查看日志中的初始密码
cat /data/mysql/mysql.err
这里,我都初始密码是+zCGpC%(w9Xh
9.可能出现的问题(如没有出现问题,可忽略本节)
如果这里出现如下报错,说明你的MySQL
已经初始化过了,不能再用同一条命令进行初始化
2021-10-05T03:05:13.662287Z 0 [Warning] [MY-011070] [Server] ‘Disabling symbolic links using –skip-symbolic-links (or equivalent) is the default. Consider not using this option as it’ is deprecated and will be removed in a future release.
2021-10-05T03:05:13.662373Z 0 [System] [MY-013169] [Server] /usr/local/01-install/02-mysql/mysql-8.0.21-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.21) initializing of server in progress as process 1613
2021-10-05T03:05:13.663732Z 0 [ERROR] [MY-010457] [Server] –initialize specified but the data directory has files in it. Aborting.
2021-10-05T03:05:13.663759Z 0 [ERROR] [MY-013236] [Server] The designated data directory /data/mysql/ is unusable. You can remove all files that the server added to it.
2021-10-05T03:05:13.663817Z 0 [ERROR] [MY-010119] [Server] Aborting
2021-10-05T03:05:13.663939Z 0 [System] [MY-010910] [Server] /usr/local/01-install/02-mysql/mysql-8.0.21-linux-glibc2.12-x86_64/bin/mysqld: Shutdown complete (mysqld 8.0.21) MySQL Community Server - GPL.
这时,只要找到my.cnf
文件中datadir
的位置,将该文件夹更改成另一个名字mysql_bak
,然后再进行初始化语句。
[root@localhost bin]# cd /data
[root@localhost data]# mv mysql mysql_bak
此时就会发现,成功出现了初始密码
10.启动
先将mysql.server
放置到/etc/init.d/mysql
中
cp /usr/local/01-install/02-mysql/mysql-8.0.21-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysql
启动
[root@localhost /]# service mysql start
Starting MySQL.. SUCCESS!
查看启动状态
[root@localhost support-files]# ps -ef|grep mysql
MySQL安装成功啦!!!ヽ(;▽;)ノ
三、修改密码
首先使用之前找过的密码进行登录
[root@localhost bin]# ./mysql -u root -p
Enter password: +zCGpC%(w9Xh
注意:上面的Enter password:
后面输入密码的时候是默认看不见的,直接输入就可以了
修改密码为“123456”
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
退出重新登录一下,测试成功
四、配置环境变量
编辑文件profile
vim /etc/profile
输入环境变量配置内容
#MySQL 环境变量
export MYSQL_HOME=/usr/local/01-install/02-mysql/mysql-8.0.21-linux-glibc2.12-x86_64
export MYSQL_PATH=${MYSQL_HOME}/bin
export PATH=$PATH:${MYSQL_PATH}
注意:MYSQL_HOME
后面写的是MySQL
安装的目录,如下图所示
环境变量配置的写法可以参考下图(图中带有Java
的环境变量配置,请区分好)
重新加载配置文件
[root@localhost /]# source /etc/profile
在根目录登录MySQL
测试
[root@localhost /]# mysql -u root -p
Enter password:
环境变量配置完成啦~
五、远程链接
登录MySQL
之后修改权限(123456是我自己的密码,不要忘记修改)
mysql> ALTER USER'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)
mysql> ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
这里本人使用的是Navicat
进行链接,如果这时还是连不上,可以查看虚拟机的防火墙是否开启
查看防火墙状态
firewall-cmd --state
查看已经开放的端口
firewall-cmd --list-ports
打开3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
firewall-cmd --reload
这时就会发现可以连接Navicat
了。
如果想要了解更多有关防火墙的知识,可以参考Linux系统中CentOS7防火墙