前端学习网站建设教程,办公室装修设计app,iis 网站乱码,简单网站建设CentOS版本#xff1a;CentOS 7
三种安装方式#xff1a;
一、通过 yum 安装#xff0c;最简单#xff0c;一键安装#xff0c;全程无忧。
二、通过 rpm 包安装#xff0c;需具备基础概念及常规操作。
三、通过 gz 包安装#xff0c;需具备配置相关操作。
--------…CentOS版本CentOS 7
三种安装方式
一、通过 yum 安装最简单一键安装全程无忧。
二、通过 rpm 包安装需具备基础概念及常规操作。
三、通过 gz 包安装需具备配置相关操作。
---------------------------------------------------------------------------------------------------------------------------------
一、通过 yum 安装
安装 MySQL版本MySQL Community Server 8.4.3 LTS
最简单的安装方式但过程中涉及的密钥、rpm源url等地址如果过期需要重新获取新的url
需要 root 权限使用 root 用户进行命令操作。
1、获取官方 yum 源url
查看 CentOS 版本
cat /etc/redhat-release打开 MySQL 官方 yum 仓库网站https://repo.mysql.com/获取与当前 CentOS 版本匹配的源的urlCentOS 7对应el7https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm 2、安装 MySQL
导入密钥当前最新密钥urlhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2023暂时搞不清楚这个密钥url是如何获取的。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023【过往密钥urlhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022】
通过上面获取到的 yum 源urlhttps://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm安装 mysqlyum 仓库
rpm -Uvh https://repo.mysql.com/mysql84-community-release-el7-1.noarch.rpm使用 yum 自动安装 MySQL
yum -y install mysql-community-server查看 MySQL 安装目录
whereis mysql3、启动 MySQL
【MySQL 安装完成后会自动配置名称为 mysqld 的服务可以被 systemctl 管理。】
启动 MySQL 服务
systemctl start mysqld设置 MySQL 服务开机自动启动
systemctl enable mysqld查看 MySQL 服务状态
systemctl status mysqld查看 MySQL 服务进程
ps axj | grep mysqld4、登录 MySQL
获取临时密码进行登录
获取 MySQL 日志文件的路径查看配置文件/etc/my.cnf 中的 log-error 的内容 /var/log/mysqld.log 就是 MySQL 日志文件的路径
cat /etc/my.cnf再查看 MySQL 日志文件 /var/log/mysqld.log使用通道符按关键字直接检索获取临时密码
grep temporary password /var/log/mysqld.log登录 MySQL
mysql -u root -p修改密码MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符长度大于8位
alter user rootlocalhost identified by 复杂的密码;退出 MySQL
exit;重新登录 MySQL使用修改后的密码
mysql -u root -p退出 MySQL
exit;5、开放端口 3306
为什么是 3306
查看 MySQL 服务监听哪些端口
netstat -nap | grep mysqld检查端口是否开放
firewall-cmd --zonepublic --query-port3306/tcp开放端口
firewall-cmd --zonepublic --add-port3306/tcp --permanent重新加载
firewall-cmd --reload再检查端口是否开放
firewall-cmd --zonepublic --query-port3306/tcp6、设置远程登录
MySQL默认只能本地连接不允许远程终端连接
--------------------------------------------------------------------------------------------------------------------------------
【前置测试目的是为了搞清楚在设置远程登录之前在远程终端上进行连接的情况】
在远程终端192.168.88.1上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p失败提示不允许连接
在远程终端192.168.88.1上通过【第三方图形化工具】连接 失败提示不允许连接
--------------------------------------------------------------------------------------------------------------------------------
登录 MySQL新建 root 用户允许在远程终端192.168.88.1上远程登录
mysql -u root -pcreate user root192.168.88.1 identified by 复杂的密码;如果是允许在所有远程终端上远程登录则使用这个命令
create user ‘root’‘%’ identified by ‘复杂的密码’; 修改密码
alter user root192.168.88.1 identified by 复杂的密码;授予权限最大权限
grant all privileges on *.* to root192.168.88.1;刷新权限
flush privileges;查看用户情况 SELECT host, user FROM mysql.user WHERE user root;7、测试远程登录
在远程终端192.168.88.1上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p连接登录进去可以相应的数据库操作 SELECT host, user FROM mysql.user WHERE user root;在远程终端192.168.88.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的代替品。
rpm -qa | grep mariadb删除已经安装的mariadb通过上面查询得到的文件名为mariadb-libs-5.5.60-1.el7_5.x86_64
rpm -e --nodeps 文件名再查询是否存在 MariaDB 相关安装包
rpm -qa | grep mariadb查看正在运行的 MySQL 服务
ps axj | grep mysql存在正在运行的 MySQL 服务停止 MySQL 服务
systemctl stop mysqld查看 MySQL 服务状态
systemctl status mysqld查询是否存在 MySQL 相关安装包
rpm -qa | grep mysql存在 MySQL 相关安装包全部卸载
rpm -qa | grep mysql | xargs yum -y remove再检查是否存在 MySQL 相关安装包
rpm -qa | grep mysql查询是否存在 MySQL 相关安装文件
find / -name mysql存在 MySQL 相关安装文件全部删除
rm -rf /etc/selinux/targeted/active/modules/100/mysql /usr/lib64/mysql /export/server/mysql再查询是否存在 MySQL 相关安装文件
find / -name mysql删除 MySQL 相关配置文件
rm -rf /etc/my.cnf /etc/init.d/mysql /etc/init.d/mysqld删除 mysql 用户和用户组
userdel mysqlgroupdel mysql2、下载 rpm 包
在远程终端计算机上打开MySQL官网https://www.mysql.com/ 直接下载网址https://dev.mysql.com/downloads/mysql/ 其他版本 3、上传 rpm 包到 CentOS
使用FinalShell远程登录工具并且使用 root 用户连接登录注意这里说的root用户连接登录是指这样的 4、解压 rpm 包
创建目录/export/server/mysql
mkdir -p /export/server/mysql解压到目录/export/server/mysql
.tar.gz 格式的为打包压缩使用 tar -zxvf解压后是一个与文件名同名的目录。
.tar 格式的为打包不压缩使用 tar -xvf解压后是相关的文件不是目录。
所以这里需要在解压前创建目录/export/server/mysql解压到这个目录。
tar -xvf mysql-8.4.3-1.el7.x86_64.rpm-bundle.tar -C /export/server/mysql查看解压后情况
ls -l /export/server/mysql5、安装依赖
安装openssl 和 openssl-develOpenSSL库是用于加密和解密数据的库MySQL在安全通信时需要使用OpenSSL库。
yum -y install openssl openssl-devel安装 libaiolibaio库是Linux异步I/O操作的库MySQL在进行I/O操作时需要使用libaio库。
yum -y install libaio安装ncursesncurses库是用于控制终端输出的库MySQL的终端工具需要使用ncurses库。
yum -y install libncurses*6、安装 MySQL
进入目录 /export/server/mysql查看目录内容
cd /export/server/mysqlls -l依次执行以下命令依次安装 /export/server/mysql 目录下的各个.rpm文件
rpm -ivh mysql-community-common-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-client-plugins-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-libs-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-client-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-icu-data-files-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-server-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-libs-compat-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-embedded-compat-8.4.3-1.el7.x86_64.rpm;
rpm -ivh mysql-community-devel-8.4.3-1.el7.x86_64.rpm;7、配置 MySQL
修改配置文件/etc/my.cnf在 [mysqld] 中增加配置内容
vim /etc/my.cnf增加的配置内容以下
# 设置 MySQL 服务运行的端口号
port 3306
# 指定 MySQL 数据库的默认字符集
character-set-serverutf8mb4
# 允许外部访问
bind-address0.0.0.0
# 设置client连接mysql时的字符集,防止乱码
init_connectSET NAMES utf8mb4
# 设置 MySQL 允许访问的最大连接数
max_connections 1000
# 指定MySQL服务器存储数据文件的目录
datadir/var/lib/mysql
# 是否对sql语句大小写敏感1表示不敏感
lower_case_table_names 1
# 事务隔离级别默认为可重复读mysql默认可重复读级别此级别下可能参数很多间隙锁影响性能
transaction_isolation READ-COMMITTED
# TIMESTAMP如果没有显示声明NOT NULL允许NULL值
explicit_defaults_for_timestamp true目录授权
chown -R mysql:mysql /var/lib/mysql/chown -R 表示对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
chown mysql.mysql 和 mysql:mysql 这两种写法是一样的都是将后面指定的目录所属用户和组改成 mysql 用户和 mysql 组 8、启动 MySQL
【MySQL 安装完成后会自动配置名称为 mysqld 的服务可以被 systemctl 管理。】
启动 MySQL 服务
systemctl start mysqld.service设置 MySQL 服务开机自动启动
systemctl enable mysqld.service查看 MySQL 服务
systemctl status mysqld.service查看 MySQL 服务进程
ps axj | grep mysqld9、登录 MySQL
方式1
获取临时密码进行登录
获取 MySQL 日志文件的路径查看配置文件/etc/my.cnf 中的 log-error 的内容 /var/log/mysqld.log 就是 MySQL 日志文件的路径
cat /etc/my.cnf再查看 MySQL 日志文件 /var/log/mysqld.log使用通道符按关键字直接检索获取临时密码
grep temporary password /var/log/mysqld.log登录 MySQL
mysql -u root -p查看 MySQL 版本
SELECT VERSION();不修改密码不允许执行SQL命令。
修改密码MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符长度大于8位
alter user rootlocalhost identified by 复杂的密码;退出 MySQL
exit;重新登录 MySQL使用修改后的密码
mysql -u root -p查看 MySQL 版本
SELECT VERSION();修改密码后就可以执行SQL命令。
退出 MySQL
exit;--------------------------------------------------------------------------------------------------------------------------------
方式2
跳过密码验证进行登录。不推荐。除非通过方式1获取不到临时密码或者使用过程中忘记密码了。
修改/etc/my.cnf 配置文件在 [mysqld] 后面任意一行添加 skip-grant-tables
vim /etc/my.cnf重启 MySQL
systemctl restart mysqld登录 MySQL无 -p 选项无需密码登录
mysql -u root查看 MySQL 版本
SELECT VERSION();刷新权限 需要刷新权限之后才能修改密码
flush privileges;修改密码MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符长度大于8位
alter user rootlocalhost identified by 复杂的密码;退出 MySQL
exit;再修改/etc/my.cnf 配置文件将 skip-grant-tables 这行注释或删除掉
vim /etc/my.cnf重启 MySQL
systemctl restart mysqld重新登录 MySQL使用修改后的密码
mysql -u root -p退出 MySQL
exit;--------------------------------------------------------------------------------------------------------------------------------
10、开放端口3306
为什么是 3306
查看 MySQL 服务监听哪些端口
netstat -nap | grep mysqld检查端口是否开放
firewall-cmd --zonepublic --query-port3306/tcp开放端口
firewall-cmd --zonepublic --add-port3306/tcp --permanent重新加载
firewall-cmd --reload再检查端口是否开放
firewall-cmd --zonepublic --query-port3306/tcp11、设置远程登录
MySQL默认只能本地连接不允许远程终端连接
--------------------------------------------------------------------------------------------------------------------------------
【前置测试目的是为了搞清楚在设置远程登录之前在远程终端上进行连接的情况】
在远程终端192.168.88.1上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p失败提示不允许连接
在远程终端192.168.88.1上通过【第三方图形化工具】连接 失败提示不允许连接
--------------------------------------------------------------------------------------------------------------------------------
登录 MySQL新建 root 用户允许在远程终端192.168.88.1上远程登录
mysql -u root -pcreate user root192.168.88.1 identified by 复杂的密码;如果是允许在所有远程终端上远程登录则使用这个命令
create user ‘root’‘%’ identified by ‘复杂的密码’;
% 代表所有终端 修改密码
alter user root192.168.88.1 identified by 复杂的密码;授予权限最大权限
grant all privileges on *.* to root192.168.88.1;刷新权限
flush privileges;查看用户情况 SELECT host, user FROM mysql.user WHERE user root;退出 MySQLCtrl D 快捷键 12、测试远程登录
在远程终端192.168.88.1上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p连接登录进去可以相应的数据库操作 SELECT host, user FROM mysql.user WHERE user root;在远程终端192.168.88.1上通过【第三方图形化工具】连接 连接登录进去可以相应的数据库操作 SELECT host, user FROM mysql.user WHERE user root;13、删除安装文件
删除安装包文件
rm -rf /root/mysql-8.4.3-1.el7.x86_64.rpm-bundle.tar删除安装包解压的安装目录
rm -rf /export/server/mysql三、通过 gz 包安装
安装 MySQL版本MySQL Community Server 5.7.44
需要 root 权限使用 root 用户进行命令操作。
1、准备安装环境
查询是否存在 MariaDB 相关安装包MariaDB是MySQL的一个分支主要由开源社区在维护采用GPL授权许可MariaDB的目的是完全兼容MySQL包括API和命令行使之能轻松成为MySQL的代替品。
rpm -qa | grep mariadb删除已经安装的mariadb通过上面查询得到的文件名为mariadb-libs-5.5.60-1.el7_5.x86_64
rpm -e --nodeps 文件名再查询是否存在 MariaDB 相关安装包
rpm -qa | grep mariadb查看正在运行的 MySQL 服务
ps axj | grep mysql存在正在运行的 MySQL 服务停止 MySQL 服务
systemctl stop mysqld查看 MySQL 服务状态
systemctl status mysqld查询是否存在 MySQL 相关安装包
rpm -qa | grep mysql存在 MySQL 相关安装包全部卸载
rpm -qa | grep mysql | xargs yum -y remove再检查是否存在 MySQL 相关安装包
rpm -qa | grep mysql查询是否存在 MySQL 相关安装文件
find / -name mysql存在 MySQL 相关安装文件全部删除
rm -rf /etc/selinux/targeted/active/modules/100/mysql /usr/lib64/mysql /export/server/mysql再查询是否存在 MySQL 相关安装文件
find / -name mysql删除 MySQL 相关配置文件
rm -rf /etc/my.cnf /etc/init.d/mysql /etc/init.d/mysqld删除 mysql 用户和用户组
userdel mysqlgroupdel mysql2、下载 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 目录下
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-el7-x86_64.tar.gz查看/root 目录内容
ls /root3、解压 gz 包
创建目录/export/server
mkdir -p /export/server解压到目录/export/server
.tar.gz 格式的为打包压缩使用 tar -zxvf解压后是一个与文件名同名的目录。
.tar 格式的为打包不压缩使用 tar -xvf解压后是相关的文件不是目录。
tar -zxvf mysql-5.7.44-el7-x86_64.tar.gz -C /export/server查看解压后情况在 /export/server 下 解压出一个与gz包同名的目录mysql-5.7.44-el7-x86_64
ls -l /export/server为方便后续操作将解压出来的目录mysql-5.7.44-el7-x86_64 重命名为 mysql查看目录内容
mv /export/server/mysql-5.7.44-el7-x86_64 /export/server/mysqlls -l /export/server4、安装依赖
安装开发工具包 gcc 和 gcc-c
yum -y install gcc gcc-c安装依赖包
安装openssl 和 openssl-develOpenSSL库是用于加密和解密数据的库MySQL在安全通信时需要使用OpenSSL库。
yum -y install openssl openssl-devel安装 libaiolibaio库是Linux异步I/O操作的库MySQL在进行I/O操作时需要使用libaio库。
yum -y install libaio安装ncursesncurses库是用于控制终端输出的库MySQL的终端工具需要使用ncurses库。
yum -y install libncurses*5、安装 MySQL
进入目录/export/server/mysql查看目录内容
cd /export/server/mysqlls -l创建 mysql 用户组、mysql 用户
groupadd mysqluseradd -r -g mysql mysqluseradd -r参数表示mysql用户是系统用户不可用于登录系统。
useradd -g参数表示把mysql用户添加到mysql用户组中。 创建目录
创建 mysql 存储数据 data 目录
mkdir /export/server/mysql/data创建 mysql 存储 mysq.sock 文件目录
mkdir /var/lib/mysql目录授权
将 /export/server/mysql 和/var/lib/mysql目录所属用户和组改成 mysql 用户和 mysql 组
chown -R mysql:mysql /export/server/mysqlchown -R mysql:mysql /var/lib/mysqlchown -R 表示对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
chown mysql.mysql 和 mysql:mysql 这两种写法是一样的都是将后面指定的目录所属用户和组改成 mysql 用户和 mysql 组 创建 mysql 启动配置文件 my.cnf配置内容
vim /etc/my.cnf配置内容以下
[mysql]
socket/var/lib/mysql/mysql.sock
default-character-setutf8[mysqld]
socket/var/lib/mysql/mysql.sock
port3306
basedir/export/server/mysql
datadir/export/server/mysql/data
max_connections200
character-set-serverutf8
default-storage-engineINNODB
lower_case_table_names1
max_allowed_packet16M
explicit_defaults_for_timestamptrue
sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION[mysql.server]
usermysql
basedir/export/server/mysql初始化 MySQL因为目前MySQL目录/export/server/mysql设置的所属用户是mysql所以–usermysql如果是 root 用户–userroot
/export/server/mysql/bin/mysqld --initialize --usermysql --basedir/export/server/mysql --datadir/export/server/mysql/data设置开机启动
配置启动脚本修改 basedir 和 datadir 的路径
vim /export/server/mysql/support-files/mysql.server修改 $bindir/mysqld_safe 关键处在其后面添加–usermysqlMySQL目录的权限是什么用户就加什么用户因为目前MySQL目录/export/server/mysql设置的所属用户是mysql所以–usermysql如果是 root 用户–userroot 将 /export/server/mysql/support-files/mysql.server 复制到 /etc/rc.d/init.d/mysqld
cp /export/server/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld赋予执行权限
chmod x /etc/rc.d/init.d/mysqld添加系统服务将 mysqld 服务加入到系统服务
chkconfig --add mysqld查看 mysql 服务检查添加系统服务是否生效
chkconfig --list mysqld因为 mysqld 是我们手动添加的不是本地服务所以想要设置开机启动不能用 systemctl enable mysqld systemctl 命令只能操作正常安装在系统的本地服务所以要通过 chkconfig 命令来设置开机启动。
设置开机启动、关机开机启动
chkconfig mysqld onchkconfig mysqld off检查环境变量
echo $PATH配置环境变量添加 mysql 环境变量
vim /etc/profile刷新环境变量
source /etc/profile再检查环境变量
echo $PATH6、启动 MySQL
查看 MySQL 服务
systemctl status mysqld启动 MySQL 服务
systemctl start mysqld设置 MySQL 服务开机自动启动因为 mysqld 是我们手动添加的不是本地服务不用使用systemctl enable mysqld 设置开机启动
systemctl enable mysqld查看 MySQL 服务
systemctl status mysqld因为 mysqld 是我们手动添加的不是本地服务所以想要设置开机启动不能用 systemctl enable mysqld systemctl 命令只能操作正常安装在系统的本地服务所以要通过 chkconfig 命令来设置开机启动。
查看 MySQL 服务进程
ps -ef | grep mysqld7、登录 MySQL
获取临时密码进行登录在前面初始化 MySQL 的时候有输出临时密码。
登录 MySQL
mysql -u root -p查看 MySQL 版本
SELECT VERSION();不修改密码不允许执行SQL命令。
修改密码MySQL默认的密码策略是要包含大写字母、小写字母、数字、特殊字符长度大于8位
alter user rootlocalhost identified by 复杂的密码;退出 MySQL
exit;重新登录 MySQL使用修改后的密码
mysql -u root -p查看 MySQL 版本
SELECT VERSION();修改密码后就可以执行SQL命令。
退出 MySQL
exit;8、开放端口3306
为什么是 3306
查看 MySQL 服务监听哪些端口
netstat -nap | grep mysqld检查端口是否开放
firewall-cmd --zonepublic --query-port3306/tcp开放端口
firewall-cmd --zonepublic --add-port3306/tcp --permanent重新加载
firewall-cmd --reload再检查端口是否开放
firewall-cmd --zonepublic --query-port3306/tcp9、设置远程登录
MySQL默认只能本地连接不允许远程终端连接
--------------------------------------------------------------------------------------------------------------------------------
【前置测试目的是为了搞清楚在设置远程登录之前在远程终端上进行连接的情况】
在远程终端192.168.88.1上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p失败提示不允许连接
在远程终端192.168.88.1上通过【第三方图形化工具】连接 失败提示不允许连接
--------------------------------------------------------------------------------------------------------------------------------
登录 MySQL新建 root 用户允许在远程终端192.168.88.1上远程登录
mysql -u root -pcreate user root192.168.88.1 identified by 复杂的密码;如果是允许在所有远程终端上远程登录则使用这个命令
create user ‘root’‘%’ identified by ‘复杂的密码’;
% 代表所有终端 修改密码
alter user root192.168.88.1 identified by 复杂的密码;授予权限最大权限
grant all privileges on *.* to root192.168.88.1;刷新权限
flush privileges;查看用户情况 SELECT host, user FROM mysql.user WHERE user root;退出 MySQLCtrl D 快捷键 10、测试远程登录
在远程终端192.168.88.1上通过【终端】或【cmd】使用命令行连接
mysql -h 192.168.88.130 -u root -p连接登录进去可以相应的数据库操作 SELECT host, user FROM mysql.user WHERE user root;在远程终端192.168.88.1上通过【第三方图形化工具】连接 连接登录进去可以相应的数据库操作 SELECT host, user FROM mysql.user WHERE user root;11、删除安装文件
rm -rf /root/mysql-5.7.44-el7-x86_64.tar.gz扩展
查看 mysql 命令所在的目录
which mysql查看 mysql 所在的目录
whereis mysql查看数据目录
方式1
mysql -u root -p -e show variables like datadir方式2查看配置文件
vim /etc/my.cnf