下载MySQL
在 linux 下执行下载命令:wget 地址例如:
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
下载好的文件,64 系统使用的 mysql:
1.上传 MySQL 安装文件到 Linux
使用 Xftp 上传文件 mysql-5.7.18-linux-glibc2.5-x86_64.tar
2.检查系统是否安装了 mariadb 数据
检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。首先要检查安装了mariadb, 卸载掉。
检查命令 :yum list installed | grep mariadb
3.卸载 mariadb
若linux中安装了mariadb数据库,先卸载掉,mariadb数据库可能与安装mysql发生冲突,执行命令:yum -y remove mariadb-libs.x86_64
其中 mariadb-libs.x86_64 是第 2 步搜索出来的 mariadb 软件包,不同机器可能不一样, -y 参数确认删除。
等待卸载完成:提示 Complete ,卸载完成
4.安装
解压下载的mysql软件压缩包,执行命令 :tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
5.修改解压后的文件名
将解压后的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
6.创建数据文件夹 data
data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录。
默认没有data目录,可以手工创建data目录,在mysql-5.7.18文件夹目录下创建一个data文件夹,切换到mysql-5.7.18目录,执行创建文件夹命令
例 如 :mkdir data
7.创建用户执行 mysqld 命令
创建mysql用户,用来执行MySQL的命令mysqld ,此命令用来初始化msyql基础信息。可以使用其他用户,例如叫做 mydb.不推荐
参考地址:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
执行命令:useradd 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
8.初始化
参数说明:
--initialize 初始化 mysql,创建 mysql 的 root, 随机生成密码。记住密码,登录 msyql 使用。
--user 执行 msyqld 命令的 linux 用户名
--datadir : mysql 数据文件的存放位置,目录位置参照本机的设置。
--basedir : msyql 安装程序的目录,目录位置参照本机的设置。
该命令执行后,会生成一个临时的 mysql 数据库 root 用户的密码,请先拷贝出来记住,后续第一次登录 mysql 需要使用
查看 mysqld
执行初始化命令:
密码: T/>%LuYxa4MS
9.启用安全功能
在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql 命令程序,mysql_ssl_rsa_setup 提供了开启数据加密功能,生成数字证书。在mysql-5.7.18/bin目录下执行命令:
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.18/data
10.修改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/
mysqld_safe程序会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它 。用mysqld_safe程序来启动MySQL服务器的做法在unix/linux系统上很常见
11.启动
启动MySQL服务,mysql-5.7.18/bin目录下执行命令:./mysqld_safe &(其中 & 符号表示后台启动),输入命令后按Enter
确认 msyql 是否启动,查看进程 ,使用 ps -ef | grep mysql
12.使用 mysql 客户端进入
登录进入mysql,mysql-5.7.18/bin目录下执行命令:./mysql -uroot -p-u 表示使用root用户登录系统,使用第8步生成的密码。
-p 表示使用密码登录
例如:mysql-5.7.18/bin 下执行 ./mysql -uroot -p 然后 Enter, 在提示符下输入密码
13.修改 root 密
第 8 步的 root 用户密码是临时要修改才能使用。
执行sql语句 show databases; 第一次使用将会提示修改mysql的root用户密码:
修改mysql的密码,命令语法:alter user '用户名'@'主机域名或ip' identified by '新密码'
例如 :alter user 'root'@'localhost' identified by '123456';
14.授权远程访问
授权远程访问,在没有授权之前只能在本机访问msyql, 远程授权就是让其他计算机通过网络访问
mysql(这样远程客户端才能访问) 授权命令:grant
语法:grant all privileges on *.* to root@'%' identified by '123456';
参数:其中*.* 的第一个*表示所有数据库名,第二个*表示所有的数据库表;
root@'%' 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如root@localhost,root@192.168.10.129
①执行授权命令
例 如 :grant all privileges on *.* to root@'%' identified by '123456';
②更新权限信息,执行flush刷新权限例 如 :flush privileges;
15.测试 mysql 客户端访问 mysql
然后就可以使用 mysql 数据库了,可以在命令行 和 远程客户端分别连接 msyql。
HeidiSQL: 官方网站https://www.heidisql.com/
Navicat: 官方网站 :http://www.navicat.com/
SQLyog: 官方网站:http://www.webyog.com/
举例:使用 Navicat 连接 Linux 上的 mysql
① 打开 Navicat 软件,新建连接
② 点击“连接测
连接错误:可能是 Linux 的防火墙起作用。可以将防火墙先关闭操作防火墙的命令:
查看防火墙状态:systemctl status firewalld
让防火墙可用:systemctl enable firewalld 让防火墙不可用:systemctl disable firewalld 开启防火墙:systemctl start firewalld
禁用防火墙:systemctl stop firewalld
查看防火墙状态:在 linux 命令行执行
关闭防火墙(本机会话关闭):
测试客户端的访问:
16.关闭MySQL服务
① 在 msyql 客户端,执行 exit 退出 msyql 自己的客户端
②关闭,停止mysql服务器
mysql-5.7.18/bin目录下执行: ./mysqladmin -uroot -p shutdown 输入密码关闭
查看 mysql 进程,已经没有