(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
解压下载的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
修改文件夹名称,执行:
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
(8) 初始化 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
该命令执行后,会生成一个临时的 mysql 数据库 root 用户的密码,请先拷贝出来记住,后续第一次登录 mysql 需要使用
执行初始化命令:
密码: 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/
(11) 启动 MySQL
启动MySQL服务, mysql-5.7.18/bin目录下执行命令:
./mysqld_safe &(其中 & 符号 表示后台启动)
(12) 使用 mysql 客户端进入 mysql
登录进入mysql, mysql-5.7.18/bin目录下执行命令:
./mysql -uroot -p
在提示符下输入密码
(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
更新权限信息,执行flush刷新权限
命令:
flush privileges;
(15) 测试 mysql 客户端访问 mysql
使用 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 进程,已经没有 mysqld_safe