Linux安装MySQL


一、下载

MySQL官网,点击上方的DOWNLOADS

官网

选择MySQL Community (GPL) Downloads »

MySQL Community (GPL) Downloads »

选择Download Archives

Download Archives

选择MySQL Community Server

MySQL Community Server

选择所需要的下载

选择

如果有小伙伴不在乎版本的话,也可以下载下面的版本

网盘链接 提取码:81rx

二、安装

1.查看是否已经安装过MySQl

rpm -qa | grep mysql
查看是否安装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:后面输入密码的时候是默认看不见的,直接输入就可以了

登录MySQL

修改密码为“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防火墙


文章作者: milu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 milu !
  目录