Linux(CentOS)安装 MySQL

守听  论坛元老 | 2024-12-28 18:21:02 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1034|帖子 1034|积分 3102

CentOS版本:CentOS 7
三种安装方式:
一、通过 yum 安装,最简朴,一键安装,全程无忧。
二、通过 rpm 包安装,需具备底子概念及常规利用。
三、通过 gz 包安装,需具备配置相关利用。
---------------------------------------------------------------------------------------------------------------------------------
一、通过 yum 安装

安装 MySQL版本:MySQL Community Server 8.4.3 LTS
最简朴的安装方式,但过程中涉及的密钥、rpm源url等地址假如逾期,需要重新获取新的url
需要 root 权限,使用 root 用户进行命令利用。
1、获取官方 yum 源(url)

查看 CentOS 版本
  1. cat /etc/redhat-release
复制代码

打开 MySQL 官方 yum 仓库网站https://repo.mysql.com/,获取与当前 CentOS 版本匹配的源的url(CentOS 7对应el7):https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm

2、安装 MySQL

导入密钥:当前最新密钥urlhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2023,临时搞不清晰这个密钥url是如何获取的。
  1. rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
复制代码

【过往密钥urlhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022】
通过上面获取到的 yum 源(url)https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm,安装 mysqlyum 仓库
  1. rpm -Uvh https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm
复制代码

使用 yum 自动安装 MySQL
  1. yum -y install mysql-community-server
复制代码


查看 MySQL 安装目录
  1. whereis mysql
复制代码

3、启动 MySQL

【MySQL 安装完成后,会自动配置名称为 mysqld 的服务,可以被 systemctl 管理。】
启动 MySQL 服务
  1. systemctl start mysqld
复制代码

设置 MySQL 服务开机自动启动
  1. systemctl enable mysqld
复制代码

查看 MySQL 服务状态
  1. systemctl status mysqld
复制代码

查看 MySQL 服务进程
  1. ps axj | grep mysql
  2. d
复制代码

4、登录 MySQL

获取临时密码进行登录
获取 MySQL 日记文件的路径,查看配置文件/etc/my.cnf 中的 log-error 的内容 /var/log/mysqld.log 就是 MySQL 日记文件的路径
  1. cat /etc/my.cnf
复制代码

再查看 MySQL 日记文件 /var/log/mysqld.log,使用通道符按关键字直接检索,获取临时密码
  1. grep "temporary password" /var/log/mysqld.log
复制代码

登录 MySQL
  1. mysql -u root
  2. -p
复制代码

修改密码,MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符,长度大于8位
  1. alter user 'root'@'localhost' identified by '复杂的密码';
复制代码

退出 MySQL
  1. exit;
复制代码

重新登录 MySQL,使用修改后的密码
  1. mysql -u root
  2. -p
复制代码

退出 MySQL
  1. exit;
复制代码

5、开放端口 3306

为什么是 3306 ?
查看 MySQL 服务监听哪些端口
  1. netstat -nap | grep mysqld
复制代码

检查端口是否开放
  1. firewall-cmd --zone=public --query-port=3306/tcp
复制代码
开放端口
  1. firewall-cmd --zone=public --add-port=3306/tcp --permanent
复制代码
重新加载
  1. firewall-cmd --reload
复制代码
再检查端口是否开放
  1. firewall-cmd --zone=public --query-port=3306/tcp
复制代码

6、设置远程登录

MySQL默认只能本地毗连,不允许远程终端毗连
--------------------------------------------------------------------------------------------------------------------------------
【前置测试,目的是为了搞清晰在设置远程登录之前,在远程终端上进行毗连的环境】
在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行毗连
  1. mysql -h 192.168.88.130 -u root -p
复制代码

失败,提示不允许毗连
在远程终端(192.168.88.1)上通过【第三方图形化工具】毗连

失败,提示不允许毗连
--------------------------------------------------------------------------------------------------------------------------------
登录 MySQL,新建 root 用户,允许在远程终端(192.168.88.1)上远程登录
  1. mysql -u root
  2. -p
  3. create user 'root'@'192.168.88.1' identified by '复杂的密码';
复制代码
假如是允许在全部远程终端上远程登录,则使用这个命令:
create user ‘root’@‘%’ identified by ‘复杂的密码’;

修改密码
  1. alter user 'root'@'192.168.88.1' identified by '复杂的密码';
复制代码

授予权限(最大权限)
  1. grant all privileges on *.* to 'root'@'192.168.88.1';
复制代码

刷新权限
  1. flush privileges;
复制代码

查看用户环境
  1. SELECT host, user FROM mysql.user WHERE user = 'root';
复制代码

7、测试远程登录

在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行毗连
  1. mysql -h 192.168.88.130 -u root -p
复制代码

毗连登录进去,可以相应的数据库利用
  1. SELECT host, user FROM mysql.user WHERE user = 'root';
复制代码

在远程终端(192.168.88.1)上通过【第三方图形化工具】毗连

毗连登录进去,可以相应的数据库利用
  1. SELECT host, user FROM mysql.user WHERE user = 'root';
复制代码

二、通过 rpm 包安装

安装 MySQL版本:MySQL Community Server 8.4.3 LTS
需要 root 权限,使用 root 用户进行命令利用。
1、预备安装环境

查询是否存在 MariaDB 相关安装包,MariaDB是MySQL的一个分支,主要由开源社区在维护,采用GPL授权允许MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
  1. rpm -qa | grep mariadb
复制代码

删除已经安装的mariadb,通过上面查询得到的文件名为:mariadb-libs-5.5.60-1.el7_5.x86_64
  1. rpm -e --nodeps 文件名
复制代码

再查询是否存在 MariaDB 相关安装包
  1. rpm -qa | grep mariadb
复制代码

查看正在运行的 MySQL 服务
  1. ps axj | grep mysql
复制代码

存在正在运行的 MySQL 服务,制止 MySQL 服务
  1. systemctl stop mysqld
复制代码
查看 MySQL 服务状态
  1. systemctl status mysqld
复制代码

查询是否存在 MySQL 相关安装包
  1. rpm -qa | grep mysql
复制代码

存在 MySQL 相关安装包,全部卸载
  1. rpm -qa | grep mysql
  2. | xargs yum -y remove
复制代码


再检查是否存在 MySQL 相关安装包
  1. rpm -qa | grep mysql
复制代码

查询是否存在 MySQL 相关安装文件
  1. find / -name mysql
复制代码

存在 MySQL 相关安装文件,全部删除
  1. rm -rf /etc/selinux/targeted/active/modules/100/mysql /usr/lib64/mysql /export/server/mysql
复制代码

再查询是否存在 MySQL 相关安装文件
  1. find / -name mysql
复制代码

删除 MySQL 相关配置文件
  1. rm -rf /etc/my.cnf /etc/init.d/mysql /etc/init.d/mysqld
复制代码

删除 mysql 用户和用户组
  1. userdel mysql
  2. groupdel mysql
复制代码

2、下载 rpm 包

在远程终端盘算机上,打开MySQL官网:https://www.mysql.com/


直接下载网址:https://dev.mysql.com/downloads/mysql/

其他版本


3、上传 rpm 包到 CentOS

使用FinalShell远程登录工具,而且使用 root 用户毗连登录(注意这里说的root用户毗连登录是指这样的)



4、解压 rpm 包

创建目录/export/server/mysql
  1. mkdir -p /export/server
  2. /mysql
复制代码

解压到目录/export/server/mysql
.tar.gz 格式的为打包压缩,使用 tar -zxvf,解压后是一个与文件名同名的目录。
.tar 格式的为打包不压缩,使用 tar -xvf,解压后是相关的文件,不是目录。
以是这里需要在解压前,创建目录/export/server/mysql,解压到这个目录。
  1. tar -xvf mysql-8.4.3-1.el7.x86_64.rpm-bundle.tar -C /export/server/mysql
复制代码

查看解压后环境
  1. ls -l /export/server
  2. /mysql
复制代码

5、安装依靠

安装openssl 和 openssl-devel,OpenSSL库是用于加密息争密数据的库,MySQL在安全通讯时需要使用OpenSSL库。
  1. yum -y install openssl openssl-devel
复制代码






安装 libaio,libaio库是Linux异步I/O利用的库,MySQL在进行I/O利用时需要使用libaio库。
  1. yum -y install libaio
复制代码

安装ncurses,ncurses库是用于控制终端输出的库,MySQL的终端工具需要使用ncurses库。
  1. yum -y install libncurses*
复制代码

6、安装 MySQL

进入目录 /export/server/mysql,查看目录内容
  1. cd /export/server/mysql
  2. ls -l
复制代码

依次实行以下命令,依次安装 /export/server/mysql 目录下的各个.rpm文件
  1. rpm -ivh mysql-community-common-8.4.3-1.el7.x86_64.rpm;
  2. rpm -ivh mysql-community-client-plugins-8.4.3-1.el7.x86_64.rpm;
  3. rpm -ivh mysql-community-libs-8.4.3-1.el7.x86_64.rpm;
  4. rpm -ivh mysql-community-client-8.4.3-1.el7.x86_64.rpm;
  5. rpm -ivh mysql-community-icu-data-files-8.4.3-1.el7.x86_64.rpm;
  6. rpm -ivh mysql-community-server-8.4.3-1.el7.x86_64.rpm;
  7. rpm -ivh mysql-community-libs-compat-8.4.3-1.el7.x86_64.rpm;
  8. rpm -ivh mysql-community-embedded-compat-8.4.3-1.el7.x86_64.rpm;
  9. rpm -ivh mysql-community-devel-8.4.3-1.el7.x86_64.rpm;
复制代码








7、配置 MySQL

修改配置文件/etc/my.cnf,在 [mysqld] 中增加配置内容
  1. vim /etc/my.cnf
复制代码

增加的配置内容以下
  1. # 设置 MySQL 服务运行的端口号
  2. port = 3306
  3. # 指定 MySQL 数据库的默认字符集
  4. character-set-server=utf8mb4
  5. # 允许外部访问
  6. bind-address=0.0.0.0
  7. # 设置client连接mysql时的字符集,防止乱码
  8. init_connect='SET NAMES utf8mb4'
  9. # 设置 MySQL 允许访问的最大连接数
  10. max_connections = 1000
  11. # 指定MySQL服务器存储数据文件的目录
  12. datadir=/var/lib/mysql
  13. # 是否对sql语句大小写敏感,1表示不敏感
  14. lower_case_table_names = 1
  15. # 事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
  16. transaction_isolation = READ-COMMITTED
  17. # TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
  18. explicit_defaults_for_timestamp = true
复制代码
目录授权
  1. chown -R mysql:mysql /var/lib/mysql/
复制代码
chown -R 表现对现在目录下的全部文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
chown mysql.mysql 和 mysql:mysql 这两种写法是一样的,都是将背面指定的目录所属用户和组改成 mysql 用户和 mysql 组

8、启动 MySQL

【MySQL 安装完成后,会自动配置名称为 mysqld 的服务,可以被 systemctl 管理。】
启动 MySQL 服务
  1. systemctl start mysqld
  2. .service
复制代码
设置 MySQL 服务开机自动启动
  1. systemctl enable mysqld
  2. .service
复制代码
查看 MySQL 服务
  1. systemctl status mysqld
  2. .service
复制代码
查看 MySQL 服务进程
  1. ps axj | grep mysql
  2. d
复制代码

9、登录 MySQL

方式1:
获取临时密码进行登录
获取 MySQL 日记文件的路径,查看配置文件/etc/my.cnf 中的 log-error 的内容 /var/log/mysqld.log 就是 MySQL 日记文件的路径
  1. cat /etc/my.cnf
复制代码

再查看 MySQL 日记文件 /var/log/mysqld.log,使用通道符按关键字直接检索,获取临时密码
  1. grep "temporary password" /var/log/mysqld.log
复制代码

登录 MySQL
  1. mysql -u root
  2. -p
复制代码

查看 MySQL 版本
  1. SELECT VERSION();
复制代码

不修改密码,不允许实行SQL命令。
修改密码,MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符,长度大于8位
  1. alter user 'root'@'localhost' identified by '复杂的密码';
复制代码

退出 MySQL
  1. exit;
复制代码

重新登录 MySQL,使用修改后的密码
  1. mysql -u root
  2. -p
复制代码

查看 MySQL 版本
  1. SELECT VERSION();
复制代码

修改密码后,就可以实行SQL命令。
退出 MySQL
  1. exit;
复制代码

--------------------------------------------------------------------------------------------------------------------------------
方式2:
跳过密码验证进行登录。不保举。除非通过方式1获取不到临时密码,或者使用过程中忘记密码了。
修改/etc/my.cnf 配置文件,在 [mysqld] 背面任意一行添加 skip-grant-tables
  1. vim /etc/my.cnf
复制代码

重启 MySQL
  1. systemctl restart mysqld
复制代码

登录 MySQL(无 -p 选项,无需密码登录)
  1. mysql -u root
复制代码

查看 MySQL 版本
  1. SELECT VERSION();
复制代码

刷新权限 ,需要刷新权限之后才华修改密码
  1. flush privileges;
复制代码
修改密码,MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符,长度大于8位
  1. alter user 'root'@'localhost' identified by '复杂的密码';
复制代码
退出 MySQL
  1. exit;
复制代码

再修改/etc/my.cnf 配置文件,将 skip-grant-tables 这行注释或删除掉
  1. vim /etc/my.cnf
复制代码

重启 MySQL
  1. systemctl restart mysqld
复制代码

重新登录 MySQL,使用修改后的密码
  1. mysql -u root
  2. -p
复制代码

退出 MySQL
  1. exit;
复制代码

--------------------------------------------------------------------------------------------------------------------------------
10、开放端口3306

为什么是 3306 ?
查看 MySQL 服务监听哪些端口
  1. netstat -nap | grep mysqld
复制代码

检查端口是否开放
  1. firewall-cmd --zone=public --query-port=3306/tcp
复制代码
开放端口
  1. firewall-cmd --zone=public --add-port=3306/tcp --permanent
复制代码
重新加载
  1. firewall-cmd --reload
复制代码
再检查端口是否开放
  1. firewall-cmd --zone=public --query-port=3306/tcp
复制代码

11、设置远程登录

MySQL默认只能本地毗连,不允许远程终端毗连
--------------------------------------------------------------------------------------------------------------------------------
【前置测试,目的是为了搞清晰在设置远程登录之前,在远程终端上进行毗连的环境】
在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行毗连
  1. mysql -h 192.168.88.130 -u root -p
复制代码

失败,提示不允许毗连
在远程终端(192.168.88.1)上通过【第三方图形化工具】毗连

失败,提示不允许毗连
--------------------------------------------------------------------------------------------------------------------------------
登录 MySQL,新建 root 用户,允许在远程终端(192.168.88.1)上远程登录
  1. mysql -u root
  2. -p
  3. create user 'root'@'192.168.88.1' identified by '复杂的密码';
复制代码
假如是允许在全部远程终端上远程登录,则使用这个命令:
create user ‘root’@‘%’ identified by ‘复杂的密码’;
% 代表全部终端

修改密码
  1. alter user 'root'@'192.168.88.1' identified by '复杂的密码';
复制代码

授予权限(最大权限)
  1. grant all privileges on *.* to 'root'@'192.168.88.1';
复制代码

刷新权限
  1. flush privileges;
复制代码

查看用户环境
  1. SELECT host, user FROM mysql.user WHERE user = 'root';
复制代码

退出 MySQL(Ctrl + D 快捷键)

12、测试远程登录

在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行毗连
  1. mysql -h 192.168.88.130 -u root -p
复制代码

毗连登录进去,可以相应的数据库利用
  1. SELECT host, user FROM mysql.user WHERE user = 'root';
复制代码

在远程终端(192.168.88.1)上通过【第三方图形化工具】毗连

毗连登录进去,可以相应的数据库利用
  1. SELECT host, user FROM mysql.user WHERE user = 'root';
复制代码

13、删除安装文件

删除安装包文件
  1. rm -rf /root/mysql-8.4.3-1.el7.x86_64.rpm-bundle.tar
复制代码
删除安装包解压的安装目录
  1. rm -rf /export/server/mysql
复制代码

三、通过 gz 包安装

安装 MySQL版本:MySQL Community Server 5.7.44
需要 root 权限,使用 root 用户进行命令利用。
1、预备安装环境

查询是否存在 MariaDB 相关安装包,MariaDB是MySQL的一个分支,主要由开源社区在维护,采用GPL授权允许MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
  1. rpm -qa | grep mariadb
复制代码

删除已经安装的mariadb,通过上面查询得到的文件名为:mariadb-libs-5.5.60-1.el7_5.x86_64
  1. rpm -e --nodeps 文件名
复制代码

再查询是否存在 MariaDB 相关安装包
  1. rpm -qa | grep mariadb
复制代码

查看正在运行的 MySQL 服务
  1. ps axj | grep mysql
复制代码

存在正在运行的 MySQL 服务,制止 MySQL 服务
  1. systemctl stop mysqld
复制代码
查看 MySQL 服务状态
  1. systemctl status mysqld
复制代码

查询是否存在 MySQL 相关安装包
  1. rpm -qa | grep mysql
复制代码

存在 MySQL 相关安装包,全部卸载
  1. rpm -qa | grep mysql
  2. | xargs yum -y remove
复制代码


再检查是否存在 MySQL 相关安装包
  1. rpm -qa | grep mysql
复制代码

查询是否存在 MySQL 相关安装文件
  1. find / -name mysql
复制代码

存在 MySQL 相关安装文件,全部删除
  1. rm -rf /etc/selinux/targeted/active/modules/100/mysql /usr/lib64/mysql /export/server/mysql
复制代码

再查询是否存在 MySQL 相关安装文件
  1. find / -name mysql
复制代码

删除 MySQL 相关配置文件
  1. rm -rf /etc/my.cnf /etc/init.d/mysql /etc/init.d/mysqld
复制代码

删除 mysql 用户和用户组
  1. userdel mysql
  2. groupdel mysql
复制代码

2、下载 gz 包

打开MySQL官网:https://www.mysql.com/





获取与当前 CentOS 版本匹配的 gz 编译源码包链接地址:
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-el7-x86_64.tar.gz
下载 gz 编译源码包到 /root 目录下
  1. wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-el7-x86_64.tar.gz
复制代码

查看/root 目录内容
  1. ls /root
复制代码

3、解压 gz 包

创建目录/export/server
  1. mkdir -p /export/server
复制代码

解压到目录/export/server
.tar.gz 格式的为打包压缩,使用 tar -zxvf,解压后是一个与文件名同名的目录。
.tar 格式的为打包不压缩,使用 tar -xvf,解压后是相关的文件,不是目录。
  1. tar -zxvf mysql-5.7.44-el7-x86_64.tar.gz -C /export/server
复制代码

查看解压后环境,在 /export/server 下 解压出一个与gz包同名的目录mysql-5.7.44-el7-x86_64
  1. ls -l /export/server
复制代码

为方便后续利用,将解压出来的目录mysql-5.7.44-el7-x86_64 重命名为 mysql,查看目录内容
  1. mv /export/server/mysql-5.7.44-el7-x86_64 /export/server/mysql
  2. ls -l /export/server
复制代码

4、安装依靠

安装开辟工具包 gcc 和 gcc-c++
  1. yum -y install gcc gcc-c++
复制代码

安装依靠包
安装openssl 和 openssl-devel,OpenSSL库是用于加密息争密数据的库,MySQL在安全通讯时需要使用OpenSSL库。
  1. yum -y install openssl openssl-devel
复制代码






安装 libaio,libaio库是Linux异步I/O利用的库,MySQL在进行I/O利用时需要使用libaio库。
  1. yum -y install libaio
复制代码

安装ncurses,ncurses库是用于控制终端输出的库,MySQL的终端工具需要使用ncurses库。
  1. yum -y install libncurses*
复制代码

5、安装 MySQL

进入目录/export/server/mysql,查看目录内容
  1. cd /export/server/mysql
  2. ls -l
复制代码

创建 mysql 用户组、mysql 用户
  1. groupadd mysql
  2. useradd -r -g mysql mysql
复制代码
useradd -r参数表现mysql用户是系统用户,不可用于登录系统。
useradd -g参数表现把mysql用户添加到mysql用户组中。

创建目录
创建 mysql 存储数据 data 目录
  1. mkdir /export/server/mysql/data
复制代码
创建 mysql 存储 mysq.sock 文件目录
  1. mkdir /var/lib/mysql
复制代码

目录授权
将 /export/server/mysql 和/var/lib/mysql目录所属用户和组改成 mysql 用户和 mysql 组
  1. chown -R mysql:mysql /export/server/mysql
  2. chown -R mysql:mysql /var/lib/mysql
复制代码
chown -R 表现对现在目录下的全部文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
chown mysql.mysql 和 mysql:mysql 这两种写法是一样的,都是将背面指定的目录所属用户和组改成 mysql 用户和 mysql 组

创建 mysql 启动配置文件 my.cnf,配置内容
  1. vim /etc/my.cnf
复制代码

配置内容以下
  1. [mysql]
  2. socket=/var/lib/mysql/mysql.sock
  3. default-character-set=utf8
  4. [mysqld]
  5. socket=/var/lib/mysql/mysql.sock
  6. port=3306
  7. basedir=/export/server/mysql
  8. datadir=/export/server/mysql/data
  9. max_connections=200
  10. character-set-server=utf8
  11. default-storage-engine=INNODB
  12. lower_case_table_names=1
  13. max_allowed_packet=16M
  14. explicit_defaults_for_timestamp=true
  15. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  16. [mysql.server]
  17. user=mysql
  18. basedir=/export/server/mysql
复制代码
初始化 MySQL,因为现在MySQL目录(/export/server/mysql)设置的所属用户是mysql,以是–user=mysql,假如是 root 用户,–user=root
  1. /export/server/mysql/bin/mysqld --initialize --user=mysql --basedir=/export/server/mysql --datadir=/export/server/mysql/data
复制代码

设置开机启动
配置启动脚本,修改 basedir 和 datadir 的路径
  1. vim /export/server/mysql/support-files/mysql.server
复制代码

修改 $bindir/mysqld_safe 关键处,在其背面添加–user=mysql,MySQL目录的权限是什么用户就加什么用户,因为现在MySQL目录(/export/server/mysql)设置的所属用户是mysql,以是–user=mysql,假如是 root 用户,–user=root

将 /export/server/mysql/support-files/mysql.server 复制到 /etc/rc.d/init.d/mysqld
  1. cp /export/server/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
复制代码
赋予实行权限
  1. chmod +x /etc/rc.d/init.d/mysqld
复制代码

添加系统服务,将 mysqld 服务加入到系统服务
  1. chkconfig --add mysqld
复制代码

查看 mysql 服务,检查添加系统服务是否生效
  1. chkconfig --list mysqld
复制代码

因为 mysqld 是我们手动添加的,不是本地服务,以是想要设置开机启动不能用 systemctl enable mysqld

,systemctl 命令只能利用正常安装在系统的本地服务,以是要通过 chkconfig 命令来设置开机启动。
设置开机启动、关机开机启动
  1. chkconfig mysqld on
  2. chkconfig mysqld off
复制代码

检查环境变量
  1. echo $PATH
复制代码

配置环境变量,添加 mysql 环境变量
  1. vim /etc/profile
复制代码

刷新环境变量
  1. source /etc/profile
复制代码
再检查环境变量
  1. echo $PATH
复制代码

6、启动 MySQL

查看 MySQL 服务
  1. systemctl status mysqld
复制代码
启动 MySQL 服务
  1. systemctl start mysqld
复制代码
设置 MySQL 服务开机自动启动(因为 mysqld 是我们手动添加的,不是本地服务,不消使用systemctl enable mysqld

设置开机启动)
  1. systemctl enable mysqld
复制代码
查看 MySQL 服务
  1. systemctl status mysqld
复制代码
因为 mysqld 是我们手动添加的,不是本地服务,以是想要设置开机启动不能用 systemctl enable mysqld

,systemctl 命令只能利用正常安装在系统的本地服务,以是要通过 chkconfig 命令来设置开机启动。
查看 MySQL 服务进程
  1. ps -ef | grep mysqld
复制代码

7、登录 MySQL

获取临时密码进行登录,在前面初始化 MySQL 的时间,有输出临时密码。
登录 MySQL
  1. mysql -u root
  2. -p
复制代码

查看 MySQL 版本
  1. SELECT VERSION();
复制代码

不修改密码,不允许实行SQL命令。
修改密码,MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符,长度大于8位
  1. alter user 'root'@'localhost' identified by '复杂的密码';
复制代码

退出 MySQL
  1. exit;
复制代码

重新登录 MySQL,使用修改后的密码
  1. mysql -u root
  2. -p
复制代码

查看 MySQL 版本
  1. SELECT VERSION();
复制代码

修改密码后,就可以实行SQL命令。
退出 MySQL
  1. exit;
复制代码

8、开放端口3306

为什么是 3306 ?
查看 MySQL 服务监听哪些端口
  1. netstat -nap | grep mysqld
复制代码

检查端口是否开放
  1. firewall-cmd --zone=public --query-port=3306/tcp
复制代码
开放端口
  1. firewall-cmd --zone=public --add-port=3306/tcp --permanent
复制代码
重新加载
  1. firewall-cmd --reload
复制代码
再检查端口是否开放
  1. firewall-cmd --zone=public --query-port=3306/tcp
复制代码

9、设置远程登录

MySQL默认只能本地毗连,不允许远程终端毗连
--------------------------------------------------------------------------------------------------------------------------------
【前置测试,目的是为了搞清晰在设置远程登录之前,在远程终端上进行毗连的环境】
在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行毗连
  1. mysql -h 192.168.88.130 -u root -p
复制代码

失败,提示不允许毗连
在远程终端(192.168.88.1)上通过【第三方图形化工具】毗连

失败,提示不允许毗连
--------------------------------------------------------------------------------------------------------------------------------
登录 MySQL,新建 root 用户,允许在远程终端(192.168.88.1)上远程登录
  1. mysql -u root
  2. -p
  3. create user 'root'@'192.168.88.1' identified by '复杂的密码';
复制代码
假如是允许在全部远程终端上远程登录,则使用这个命令:
create user ‘root’@‘%’ identified by ‘复杂的密码’;
% 代表全部终端

修改密码
  1. alter user 'root'@'192.168.88.1' identified by '复杂的密码';
复制代码

授予权限(最大权限)
  1. grant all privileges on *.* to 'root'@'192.168.88.1';
复制代码

刷新权限
  1. flush privileges;
复制代码

查看用户环境
  1. SELECT host, user FROM mysql.user WHERE user = 'root';
复制代码

退出 MySQL(Ctrl + D 快捷键)

10、测试远程登录

在远程终端(192.168.88.1)上通过【终端】或【cmd】使用命令行毗连
  1. mysql -h 192.168.88.130 -u root -p
复制代码

毗连登录进去,可以相应的数据库利用
  1. SELECT host, user FROM mysql.user WHERE user = 'root';
复制代码

在远程终端(192.168.88.1)上通过【第三方图形化工具】毗连

毗连登录进去,可以相应的数据库利用
  1. SELECT host, user FROM mysql.user WHERE user = 'root';
复制代码

11、删除安装文件

  1. rm -rf /root/mysql-5.7.44-el7-x86_64.tar.gz
复制代码

扩展

查看 mysql 命令地点的目录
  1. which mysql
复制代码
查看 mysql 地点的目录
  1. whereis mysql
复制代码

查看数据目录
方式1:
  1. mysql -u root
  2. -p
  3. -e "show variables like 'datadir'"
复制代码

方式2:查看配置文件
  1. vim /etc/my.cnf
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

守听

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表