大家好,今天给大家带来一篇Linux环境下安装Mysql数据库的实战篇,根据此文章一步步操作,再也不怕遇到的坑啦!

下载Mysql

上传MySQL安装文件到Linux,使用Xftp上传文件mysql-5.7.18-linux-glibc2.5-x86_64.tar,安装包可以在网上搜索下载,也可以在本公众号后台回复mysql安装包即可获取下载连接。

查看上传的文件

检查mariadb是否安装

检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。首先要检查安装了mariadb, 卸载掉。

检查命令:yum  list  installed  |  grep mariadb

卸载mariadb

若linux中安装了mariadb数据库,先卸载掉,mariadb数据库可能与安装mysql发生冲突,

执行命令:yum -y remove mariadb-libs.x86_64

其中mariadb-libs.x86_64是搜索出来的mariadb软件包,不同机器可能不一样, -y参数确认删除。

等待卸载完成:提示Complete ,卸载完成。

安装Mysql

解压下载的mysql软件压缩包,执行命令:

tar  -zxvf  mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz  -C  /usr/local/

修改解压后的文件名

将解压后的mysql-5.7.18-linux-glibc2.5-x86_64改名为mysql-5.7.18 或者 mysql,为了明确mysql的版本,建议改名为mysql-5.7.18,查看原文件夹名称,执行 ll

修改文件夹名称,执行:mv  mysql-5.7.18-linux-glibc2.5-x86_64  mysql-5.7.18

创建数据文件夹data

data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录。

默认没有data目录,可以手工创建data目录,在mysql-5.7.18文件夹目录下创建一个data文件夹,切换到mysql-5.7.18目录,执行创建文件夹命令

例如:mkdir  data

创建用户执行 mysqld 命令

创建mysql用户,用来执行MySQL的命令mysqld ,此命令用来初始化msyql基础信息。可以使用其他用户,例如叫做 mydb.不推荐,

参考地址:-installation.html

执行命令:useradd  mysql

初始化MySQL

使用mysql的 mysqld 命令初始化数据库的基本信息。切换到mysql-5.7.18/bin目录下执行。

./mysqld  --initialize  --user=mysql

--datadir=/usr/local/mysql-5.7.18/data

--basedir=/usr/local/mysql-5.7.18

上面的命令是在一行执行的,粘贴前最好先在记事本中先编辑一下

参数说明:

--initialize 初始化mysql,创建mysql的root, 随机生成密码。记住密码,登录msyql使用。

--user 执行msyqld 命令的linux用户名

--datadir : mysql数据文件的存放位置,目录位置参照本机的设置。

--basedir : msyql安装程序的目录,目录位置参照本机的设置。

该命令执行后,会生成一个临时的mysql数据库root用户的密码,请先拷贝出来记住,后续第一次登录mysql需要使用

查看mysqld

执行初始化命令:

密码: T/>%LuYxa4MS

启用安全功能

在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序,mysql_ssl_rsa_setup提供了开启数据加密功能,生成数字证书。

在mysql-5.7.18/bin目录下执行命令:

./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.18/data

修改Mysql安装目录的权限

mysql安装后,需要更改mysql-5.7.18整个文件夹目录权限,更改所属的用户和组,是之前创建的mysql用户。在mysql安装目录的上级(/usr/local/)位置,执行命令chown ,

chown  -R  mysql:mysql  /usr/local/mysql-5.7.18/

mysql:mysq 表示文件夹的所属用户,所属组

参数说明:

R : 表示递归,更改目录中所有子文件夹的权限。

查看原目录所有者

执行修改命令:

chown  -R  mysql:mysql  /usr/local/mysql-5.7.18/

启动Mysql

启动MySQL服务,mysql-5.7.18/bin目录下执行命令:./mysqld_safe &(其中 & 符号表示后台启动),输入命令后按Enter。

mysqld_safe程序会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe程序来启动MySQL服务器的做法在unix/linux系统上很常见。

确认msyql是否启动,查看进程 ,使用ps -ef  |  grep mysql

使用Mysql客户端进入mysql

登录进入mysql,mysql-5.7.18/bin目录下执行命令:./mysql -uroot -p

-u 表示使用root用户登录系统,使用第8步生成的密码。

-p 表示使用密码登录

例如:mysql-5.7.18/bin下执行 ./mysql -uroot -p 然后Enter, 在提示符下输入密码

修改root密码

之前的root用户密码是临时要修改才能使用。

执行sql语句 show databases; 第一次使用将会提示修改mysql的root用户密码:

修改mysql的密码,命令语法:alter user '用户名'@'主机域名或ip' identified by '新密码'

例如:alter user 'root'@'localhost' identified by '';

授权远程访问

授权远程访问,在没有授权之前只能在本机访问msyql, 远程授权就是让其他计算机通过网络访问mysql(这样远程客户端才能访问)

授权命令:grant

语法:grant all privileges on *.* to root@'%' identified by '';

其中*.* 的第一个*表示所有数据库名,第二个*表示所有的数据库表;

root@'%' 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如root@localhost,

①执行授权命令

例如:grant  all  privileges  on *.* to root@'%'  identified by  '';

②更新权限信息,执行flush刷新权限

例如:flush  privileges;

测试mysql客户端访问mysql

然后就可以使用mysql数据库了,可以在命令行 和 远程客户端分别连接msyql。

举例:使用Navicat连接Linux上的mysql

① 打开Navicat软件,新建连接

连接错误:可能是Linux的防火墙起作用。可以将防火墙先关闭

操作防火墙的命令:

查看防火墙状态:systemctl status firewalld

让防火墙可用:systemctl enable firewalld

让防火墙不可用:systemctl disable firewalld

开启防火墙:systemctl start firewalld

禁用防火墙:systemctl stop firewalld

查看防火墙状态:在linux命令行执行

关闭防火墙(本机会话关闭):

测试客户端的访问:

关闭Mysql服务

① 在msyql客户端,执行exit退出msyql自己的客户端

②关闭,停止mysql服务器

mysql-5.7.18/bin目录下执行: ./mysqladmin -uroot  -p  shutdown 输入密码关闭

查看mysql进程,已经没有mysqld_safe

至此,Mysql的安装已经完成,如果安装过程中还遇到有问题的小伙伴,可后台留言,有时间帮你远程指导,后续有机会再分享一些Mysql相关的高级知识。谢谢大家~