番禺高端网站建设,自己做的网站怎么给别人访问,专门做民宿的网站,打游戏一天赚200元MySQL介绍及安装
一、MySQL概述
DB2 POSTGRE-SQL
1、关系型数据库与非关系型数据库
RDBMS#xff08;relational database management system#xff09;#xff0c;既关系型数据库管理系统。
简单来说#xff0c;关系型数据库#xff0c;是指采用了二维表格来组织数…MySQL介绍及安装
一、MySQL概述
DB2 POSTGRE-SQL
1、关系型数据库与非关系型数据库
RDBMSrelational database management system既关系型数据库管理系统。
简单来说关系型数据库是指采用了二维表格来组织数据的数据库。 扩展数据库在行业内一般会有两种情况关系型数据库与非关系型数据库。非关系型数据库并不是通过二维表格来维护数据的而是通过key/value键值对来维护数据的。 关系型数据库是指采用了二维表格来组织数据的数据库。
非关系型数据库 是通过key/value键值对来维护数据的。
2、常见的关系型数据库
oracle、mysql、DB2IBM、Sybase、SQL serverMicrosoft微软、IBM Informix
关系型数据库的最大特点就是事务的一致性所以也在对事物一致性的维护中有很大的开销.
3、什么是事务
1事务由一条或者多条sql语句组成
2在事务中的操作这些sql语句要么都成功执行要么都不执行这就是一个事务。
举例说明 登陆ATM机输入密码 连接数据库验证密码 验证成功获得用户信息比如存款余额等 用户输入需要转账的金额按下确认键从后台数据库中减掉用户账户上的对应金额update语句 从后台数据库中给对方账户增加相应的金额update语句 确认退卡走人4、事务特点(ACID 原子性(Atomicity) 事务中的全部操作在数据库中是不可分割的要么全部完成要么均不执行。 一致性(Consistency) 指事务必须使数据库从一个一致性状态变换到另一个一致性状态也就是说一个事务执行之前和执行之后都必须处于一致性状态不能破坏关系数据的完整性以及业务逻辑上的一致性。 隔离性(Isolation) 一个事务的执行不受其他事务的干扰事务执行的中间结果对其他事务必须是透明的。隔离性是当多个用户并发访问数据库时比如操作同一张表时数据库为每一个用户开启的事务不能被其他事务的操作所干扰多个并发事务之间要相互隔离。 持久性(Durability) 持久性是指一个事务一旦被提交了那么对数据库中的数据的改变就是永久性的即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。 对数据的一致性要求较高;典型的银行及支付系统类 5、MySQL数据库概述
MySQL是一种关系型数据库管理系统由瑞典MySQL AB 公司开发目前属于Oracle旗下MySQL是C/S架构
6、MySQL数据库版本 **社区版MySQL Community Edition (GPL) ** 可以看做是企业版的“广泛体验版小白鼠版”未经各个专有系统平台的压力测试和性能测试基于GPL协议发布可以随意下载使用没有任何官方技术支持服务 **企业版MySQL Enterprise Edition(commercial) ** 提供了比较全面的高级功能、管理工具及技术支持安全性、稳定性、可扩展性比较好 集群版MySQL Cluster CGE(commercial)
扩充关于版本的命名方式如何定义
版本说明αAlpha版内测版内部交流或者专业测试人员测试用。Bug较多普通用户最好不要安装。βBeta版公测版专业爱好者大规模测试用存在一些缺陷该版本也不适合一般用户安装。γ ( Gamma )版相当成熟的测试版与即将发行的正式版相差无几。Final正式版本Free自由版本Release发行版本Standard标准版本Mini迷你精简版本,只有最基本的功能Upgrade升级版本GA(GenerallyAvailable)开发团队认为该版本是稳定版,可以在较为关键的场合使用。Retail零售版
7、获取MySQL软件
官网www.mysql.com
第一步单击Downloads下载 第二步找到社区版 第三步单击进入MySQL社区版下载页面 第四步选择合适的版本 ① GLIBC版本相当于Windows中的绿色版 ② 源码编译版本需要源码编译三步走 配置 编译 安装 二、CentOS7.6操作系统最小化安装
1、创建自定义虚拟机环境
第一步选择自定义根据需求设定服务器环境 第二步选择稍后安装操作系统 第三步选择操作系统类型
第四步设置虚拟机名称及路径建议剩余空间大于等于20G 第五步设置CPU核数 第六步设置MEM内存 第七步设置网络连接NAT模式 剩下的全部默认一路下一步直至设置完成
2、安装CentOS7.6最小化模式
第一步加载光盘镜像 第二步启动虚拟机安装CentOS7.6 第三步设置安装语言必须选择全英文 第四步设置服务器时间Asia/Shanghai
第五步软件选择最小化然后必须要勾选开发工具里面主要是GCC编译器 第六步自动分区 第七步设置网络连接为自动连接开机后自动连接网络 3、CentOS7.6操作系统最小化后续配置
① 设置主机名称
# hostnamectl set-hostname hd1
# su② 更改IP获取方式为静态设置以及绑定主机名IP到/etc/hosts
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPEEthernet
BOOTPROTOnone
IPADDR192.168.1.11
NETMASK255.255.255.0
GATEWAY192.168.1.2
DNS18.8.8.8
NAMEens33
DEVICEens33
ONBOOTyes# vi /etc/hosts
192.168.1.11 hd1# systemctl restart network
如果是多网卡形式建议使用ifdown与ifup
# ifdown ens33
# ifup ens33# ip a③ 关闭防火墙与SELinux
# systemctl stop firewalld
# systemctl disable firewalld# setenforce 0
# vim /etc/selinux/config
SELINUXdisabled④ 配置公网YUM源可以考虑腾讯
# yum install wget -y
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo# yum clean all
# yum makecache⑤ 安装扩展软件bash-completion自动补全、vim编辑器、net-tools网络工具包以及ntpdate时间同步工具
# yum install bash-completion vim net-tools ntpdate -y⑥ ntpdate时间同步
# ntpdate 120.25.108.114、拍摄快照把CentOS7.6最小化系统做模板机 拍摄快照完成后这台机器就可以关机啦以后专门充当克隆用的母机 三、MySQL的安装的几种方式
1、MySQL安装方式
二进制软件包安装
① yum安装或rpm安装略
② glibc版本安装 二进制安装相当于Windows中的绿色软件
命名mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
依赖[^glibc]库可以安装在通用的Linux系统下
源码包编译安装
命名mysql-5.7.31.tar.gz通用的Linux下都可以编译安装。
2、三种安装方式的区别
安装方式优点缺点rpm安装卸载简单可定制性差glibc可定制性相比rpm包灵活些安装相比rpm包复杂些需要手动初始化数据库源码安装可定制性最强根据需求和功能定制安装麻烦需要手动初始化数据库 在企业中数据库的安装很少使用rpm方式大部分都是基于源码安装以及glibc安装 3、区分数据库与数据库实例
㈠ 什么是MySQL数据库
数据库database 操作系统或存储上的数据文件的集合。mysql数据库中数据库文件可以是* .frm、.MYD、.MYI、*.ibd等结尾的文件 不同存储引擎文件类型不同。
㈡ 什么是MySQL数据库实例
数据库实例instance 由后台进程或者线程以及一个共享内存区组成。共享内存可以被运行的后台线程所共享。 数据库实例才是真正操作数据库的。
注意MySQL的后台守护程序mysqld是单进程多线程的工作模式。
㈢ 什么是MySQL数据库服务器
**数据库服务器(database server)**部署安装数据库实例的服务器。
㈣ 数据库和数据库实例之间的关系是什么
通常情况下数据库实例和数据库是一一对应的关系也就是一个数据库实例对应一个数据库 但是在集群环境中存在多个数据库实例共同使用一个数据库。oracle RAC
-------------------------------------------------8.18号实现开始--------------------------
四、MySQL的GLIBC版本安装
1、获取MySQL GLIBC版本 2、学会看官方文档 3、安装MySQL依赖库软件
第一步克隆模板机生成MySQL服务器
第二步启动系统
第三步更改主机名称为mysql.hd.com然后重启网络
第四步拍摄快照
第五步安装依赖库libaio库
# yum install libaio -y4、上传软件包解压了解目录结构
# tar -xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
# ls mysql-5.7.31-linux-glibc2.12-x86_64解压完成后目录结构如下图所示 安装需求
选项值自定义也可以采用默认形式安装路径/mysql_3306数据路径/mysql_3306/data端口号3306
5、软件的安装查看官方说明
https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
最简单的安装过程如下
#useradd -r -s /bin/false mysql #创建程序账号
#tar -xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz #解压跟上面的命令重复了
#mv mysql-5.7.31-linux-glibc2.12-x86_64 /usr/local/mysql #移动
#cd /usr/local/mysql/
#mkdir mysql-files #创建一个目录
#chown mysql:mysql mysql-files/
#chmod 750 mysql-files/
#rm -rf /etc/my.cnf #删除主配置文件不删除的话可能会导致初始化失败
#bin/mysqld --initialize --usermysql #初始化A temporary password is generated for rootlocalhost: fuYKYm*ds5sD #产生了随机密码#bin/mysql_ssl_rsa_setup
#bin/mysqld_safe --usermysql #启动数据库并掉入后台执行
#cp support-files/mysql.server /etc/init.d/mysql.server #设置mysql的启动脚本
#netstat -nplt |grep 3306 #查看端口号#bin/mysql -uroot -p #登录mysql数据库#mysql set password123; #设置密码为123
#mysql flush privileges; #刷新权限#把mysql客户端命令添加到环境变量以后随时可以访问
# echo export PATH$PATH:/usr/local/mysql/bin /etc/profile
# source /etc/profile #验证服务是否能够正常关闭和启动# service mysql.server start
Starting MySQL. SUCCESS! # service mysql.server stop
Shutting down MySQL.. SUCCESS! #忘记密码怎么办#service mysql.server stop #关闭数据库
# mysqld --skip-grant-tables --usermysql
# mysql #直接登陆数据库系统不需要输入密码mysql UPDATE mysql.user SET authentication_string PASSWORD(123456)
WHERE user root AND host localhost;
mysql FLUSH PRIVILEGES;#设置开机自启动centos6
# chkconfig --add mysql.server #将mysql.server添加到chkconfig管理服务中
# chkconfig mysql.server on #设置mysql.server 在3、5级别是开机启动是on的
# chkconfig --list #查看chkconfig管辖的服务启动情况。
mysql.server 0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关
network 0:关 1:关 2:开 3:开 4:开 5:开 6:关#手动添加修改mysql的主配置文件默认5.7之后的二进制版本没有my.cnf
# vim /usr/local/mysql/my.cnf
[mysqld]
basedir/usr/local/mysql
datadir/usr/local/mysql/data
socket/tmp/mysql.sock我是分割线
选项说明
[mysqld] 代表针对服务器端进行配置
basedir 代表数据库的安装目录
datadir 代表数据目录以后专门用于存放数据文件的核心目录
socket 代表套接字文件专门为客户端与服务器端连接提供一个桥梁 ip端口# service mysql.server restart
----------------------------------------------------------------8.18号实验结束--------------------------------------
自定义安装过程如下
第一步创建一个数据库专用账号mysql其所属组也为mysql
# useradd -r -s /sbin/nologin mysql
# id mysql第二步清空系统中的原有mariadb的配置文件(/etc/my.cnf)
# rm -rf /etc/my.cnf第三步把mysql解压后的压缩包GBLIC版本移动到/根目录下然后更名为mysql_3306
# mv mysql-5.7.31-linux-glibc2.12-x86_64 /mysql_3306第四步切换到mysql工作目录/mysql_3306创建一个mysql-files
# cd /mysql_3306
# mkdir mysql-files第五步更改mysql-files权限
# chown mysql:mysql mysql-files
# chmod 750 mysql-files第六步初始化数据库可以实现数据库的初始化而且会产生一个随机密码
# bin/mysqld --initialize --usermysql --basedir/mysql_3306
选项说明
--initialize 初始化真正开始干活
--usermysql 以mysql用户的身份初始化数据库产生文件都是mysql作为拥有者
--basedirxxx mysql其安装目录非常重要运行完毕后观察最后一行保存root账号的密码以备后期使用。
2020-08-24T06:46:24.889735Z 1 [Note] A temporary password is generated for rootlocalhost: (cn_jS*n2wh经验之谈想查看mysql软件有没有初始化成功主要看mysql目录下有没有产生data文件夹且文件夹中至少要有一个mysql的文件夹。 第七步设置安全加密连接SSL数据传输会采用加密形式适合敏感数据
# bin/mysql_ssl_rsa_setup --datadir/mysql_3306/data第八步启动MySQL数据库
# cp support-files/mysql.server /etc/init.d/mysql_3306注默认情况下GBLIC版本的数据库要求安装到/usr/local/mysql目录其mysql.server脚本中对应的目录也是/usr/local/mysql这会导致mysql无法启动。所以可以更改其basedir以及datadir两个变量 # vim /etc/init.d/mysql_3306
46行 basedir/mysql_3306
47行 datadir/mysql_3306/data第九步启动MySQL数据库不能使用systemctl只能使用service
# service mysql_3306 start
Starting MySQL.Logging to /mysql_3306/data/mysql.itcast.cn.err.特别说明当MySQL启动成功后其日志会自动写入到data数据目录中的主机名称.err文件中这个文件一定要多看涉及MySQL无法启动、启动报错其详细的原因99%在.err文件中可以找到问题所在 6、软件的安装常见问题答疑
问题1为什么一定要删除/etc/my.cnf文件不删除有何影响
答/etc/my.cnf文件是操作系统为mariadb软件预留的配置的文件之所以一定要删除这个文件主要原因在于数据库在初始化时首先在自己的安装目录下寻找有没有my.cnf配置文件如果有会自动根据里面的配置信息进行初始化。如果找不到则到/etc目录下寻找my.cnf文件如果有依然会按照其内部的配置进行初始化但是由于/etc目录下的my.cnf文件是mariadb的这会导致我们的初始化如果按照mariadb的配置会导致初始化失败。
问题2mysql-files文件夹到底干什么的
答目前mysql-files没有什么用但是你必须要创建因为GLIBC属于二进制软件包其很多配置已经默认了包括mysql-files文件夹如果没有这个文件夹可能导致mysql无法启动。 mysql-files主要用于数据文件的导入与导出备份与还原MySQL的备份会产生一个文件可以xxx.sql或xxx.txt。mysql-files就是导入与导出时所指定的默认目录。 问题3到底怎么判断数据库是否初始化成功了
答数据库的安装容易出错的地方就是初始化一旦初始化失败了数据库100%启动报错。如何确认数据库是否初始化成功了呢主要看安装目录下有没有生成一个data的文件夹。 一定要看准一点文件夹名称叫data数据目录不是date时间 问题4为什么一定要把mysql.server放在/etc/init.d目录下不放行不行
答不放也可以但是这个时候就不能使用service命令启动以及添加到开机启动项了。只能通过bin/mysqld_safe脚本启动数据库。 /etc/init.d是CentOS6以及早期版本中的服务脚本目录只要把Shell启动脚本放在这个目录下你就可以使用service进行管理。 问题5为什么一定要改变/etc/init.d/mysql_3306中的basedir与datadir
答GLIBC版本属于二进制版本默认已经配置了很多内容包括默认的安装路径/usr/local/mysql一旦你的mysql没有安装在这个目录下则必须手工设置basedir以及datadir其位置否则脚本无法启动mysql程序
问题6如何让mysql自动启动
# chkconfig --list 查询系统中的所有开机启动项
# chkconfig --add mysql_3306 必须与/etc/init.d目录下的脚本名称一致
# chkconfig mysql_3306 on 把2345四种模式全部开启3字符界面5图形界面CentOS6及以前版本中控制服务的开机启动的 7、MySQL GLIBC版本后续配置
第一步更改管理员root账号的密码
方法1
[rootnode1 mysql_3306]# bin/mysqladmin -uroot password 123 -p
Enter password:输入刚刚初始化产生的临时密码方法2
mysql set passwordpassword(456); //未来版本将会弃用
或者
mysql set password123; //推荐重置完成后建议刷新权限让其立即生效
mysql flush privilges;第二步把mysql客户端命令添加到环境变量以后随时可以访问
# echo export PATH$PATH:/mysql_3306/bin /etc/profile
# source /etc/profile设置完成后我们可以在任意位置调用mysql客户端命令
# mysql -uroot -p
Enter password:123第三步手工定义MySQL的配置文件非常重要
# vim /mysql_3306/my.cnf
[mysqld]
basedir/mysql_3306
datadir/mysql_3306/data
socket/tmp/mysql.sock
选项说明
[mysqld] 代表针对服务器端进行配置
basedir 代表数据库的安装目录
datadir 代表数据目录以后专门用于存放数据文件的核心目录
socket 代表套接字文件专门为客户端与服务器端连接提供一个桥梁 ip端口# service mysql_3306 restartC(Client) mysql命令 连socket套接字接 mysqld服务器端程序 第四步安全配置对于生产环境比较重要
# mysql_secure_installation一路Y搞定 其主要就是是否启动密码脚尖器、是否设置root密码、是否允许root远程连接、是否移除测试数据库等等一系列功能。 常见问题如何关闭MySQL密码强度检测
# vim /mysql_3306/my.cnf
[mysqld]
...
validate_passwordOFF# service mysql_3306 restart五、MySQL的源码编译安装
1、参考MySQL源码安装官方文档
官方文档https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
源码安装三步曲配置——编译——安装
㈠ 安装须知
软件包介绍
mysql-boost-5.7.31.tar.gz 可在任意发行版的Linux下安装㈡ 安装需求
安装需求具体配置安装目录basedir/mysql_3307数据目录datadir/mysql_3307/data端口号3307socket文件位置$basedir/mysql.sock字符集utf8mb4
㈢ 了解配置选项
常用配置选项
配置选项描述默认值建议值CMAKE_INSTALL_PREFIX安装基目录(basedir)/usr/local/mysql根据需求MYSQL_DATADIR数据目录(datadir)$basedir/data根据需求SYSCONFDIR默认配置文件my.cnf路径/etcMYSQL_TCP_PORTTCP/IP端口3306非默认端口MYSQL_UNIX_ADDR套接字socket文件路径/tmp/mysql.sock$basedir/DEFAULT_CHARSET默认字符集latin1utf8mb4DEFAULT_COLLATION默认校验规则latin1_swedish_ciutf8mb4_general_ciWITH_EXTRA_CHARSETS扩展字符集allallENABLED_LOCAL_INFILE是否启用本地加载外部数据文件功能OFF建议开启WITH_SSLSSL支持类型system建议显式指定WITH_BOOSTBoost库源代码的位置Boost库是构建MySQL所必需的,建议事先下载
存储引擎相关配置项
说明
以下选项值均为布尔值0或10代表不编译到服务器中1代表编译建议都静态编译到服务器中。
其他的存储引擎可以根据实际需求在安装时通过WITH_xxxx_STORAGE_ENGINE1的方式编译到服务器中。
配置选项描述WITH_INNOBASE_STORAGE_ENGINE将InnoDB存储引擎插件构建为静态模块编译到服务器中建议编译到服务器中WITH_PARTITION_STORAGE_ENGINE是否支持分区WITH_FEDERATED_STORAGE_ENGINE本地数据库是否可以访问远程mysql数据WITH_BLACKHOLE_STORAGE_ENGINE黑洞存储引擎接收数据但不存储直接丢弃WITH_MYISAM_STORAGE_ENGINE将MYISAM存储引擎静态编译到服务器中
2、MySQL的源码编译安装 建议大家在源码编译安装之前先拍摄一个快照 第一步安装MySQL编译需要用到的依赖库
# yum -y install ncurses-devel cmake libaio-devel openssl-devel第二步上传软件到服务器端并解压
# tar -xf mysql-boost-5.7.31.tar.gz
# cd mysql-5.7.31第三步配置基于cmake进行配置
# vim myconfig.sh
cmake . \
-DCMAKE_INSTALL_PREFIX/mysql_3307 \
-DMYSQL_DATADIR/mysql_3307/data \
-DMYSQL_TCP_PORT3307 \
-DMYSQL_UNIX_ADDR/mysql_3307/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE1 \
-DWITH_PARTITION_STORAGE_ENGINE1 \
-DWITH_FEDERATED_STORAGE_ENGINE1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE1 \
-DWITH_MYISAM_STORAGE_ENGINE1 \
-DENABLED_LOCAL_INFILE1 \
-DEXTRA_CHARSETSall \
-DDEFAULT_CHARSETutf8mb4 \
-DDEFAULT_COLLATIONutf8mb4_general_ci \
-DWITH_SSLsystem \
-DWITH_BOOSTboost
# chmod x myconfig.sh
# ./myconfig.sh选项说明
-DCMAKE_INSTALL_PREFIX 安装路径
-DMYSQL_DATADIR 数据目录
-DMYSQL_TCP_PORT 端口号
-DMYSQL_UNIX_ADDR 套接字文件位置第四步编译安装
# make -j2 make install
选项说明
-j2 代表同时开启多个线程共同实现编译操作3、编译报错常见问题解析
问题1没有boost导致安装失败 问题2编译安装中途报错 解决方案只能重新编译一下
# rm -f CMakeCache.txt
# make -j2 make install4、MySQL数据库的初始化
**注意**进入到安装目录里/mysql_3307
# cd /mysql_3307第一步创建mysql-files目录
创建系统变量secure_file_priv限制导入导出目录并修改权限
# mkdir mysql-files
# chown -R mysql:mysql /mysql_3307
# chmod 750 mysql-files第二步数据库初始化操作
# bin/mysqld --initialize --usermysql --basedir/mysql_3307 --datadir/mysql_3307/data
...
2020-08-24T11:07:37.621346Z 1 [Note] A temporary password is generated for rootlocalhost: O6.iHqrZgzz7第三步拷贝mysql.server脚本到/etc/init.d目录然后启动数据库
# cp support-files/mysql.server /etc/init.d/mysql_3307
# service mysql_3307 start启动异常的解决方案 查看mysql.itcast.cn.err这个错误日志 出现以上问题的主要原因在于mysql这个用户对/mysql_3307目录没有写入文件的权限写入mysql_socket套接字文件。
解决方案
# chown -R mysql.mysql /mysql_33075、MySQL源码编译安装后的后续配置
第一步编写MySQL配置文件my.cnf
# vim /mysql_3307/my.cnf
[mysqld]
basedir/mysql_3307
datadir/mysql_3307/data
socket/mysql_3307/mysql.sock# service mysql_3307 restart第二步设置管理员的密码
# bin/mysqladmin -uroot password 123 -p
Enter password:O6.iHqrZgzz7第三步安全设置
# bin/mysql_secure_installation第四步添加mysql_3307到开机启动项
# chkconfig --add mysql_3307
# chkconfig mysql_3307 on六、MySQL常见问题解决方案
1、如何访问不同的数据库
**方法一**直接使用对应的客户端软件访问
访问5.7.31版本数据库
[rootnode1 ~]# /mysql_3306/bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.31 MySQL Community Server (GPL)
方法二定义别名的方式访问
[rootnode1 ~]# alias mysql_3306/mysql_3306/bin/mysql
[rootnode1 ~]# alias mysql_3307/mysql_3307/bin/mysql
[rootnode1 ~]# mysql_3306 -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.31 MySQL Community Server (GPL)[rootnode1 ~]# mysql_3307 -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.27 Source distribution方法三拷贝相应命令到PATH可以识别的路径下并重命名
[rootnode1 ~]# unalias mysql_3306
[rootnode1 ~]# unalias mysql_3307
我是华丽分隔符
[rootnode1 ~]# cp /mysql_3306/bin/mysql /usr/bin/mysql_3306
[rootnode1 ~]# cp /mysql_3307/bin/mysql /usr/bin/mysql_3307
[rootnode1 ~]# which mysql_3306
/usr/bin/mysql_3306
[rootnode1 ~]# which mysql_3307
/usr/bin/mysql_3307**深度思考我们之所以能够连接到数据库里的本质**是什么答套接字
2、MySQL忘记密码的解决方案
**敲黑板**找问题的解决方法很重要
1、跳过授权表通用 ㈠ 跳过授权表重启数据库以GLIBC 3306为例
① 关闭数据库
[rootnode1 ~]# mysqladmin shutdown -p
Enter password:② 跳过授权表启动
**友情提示**启动过程可能会一波三折冷静分析看报错必能解决
# /usr/local/mysql/bin/mysqld --skip-grant-tables --skip-networkingon --usermysql ㈡ 刷新授权表重要
# mysql -uroot -p
Enter password:什么都不要输入直接回车即可mysql flush privileges;
Query OK, 0 rows affected (0.00 sec)㈢ 修改密码
mysql UPDATE mysql.user SET authentication_string PASSWORD(MyNewPass)
WHERE User root AND Host localhost;
mysql FLUSH PRIVILEGES;修改密码后使用jobs kill命令停止正在运行的mysqld进程。然后使用service启动服务
# jobs
# kill %1# service mysql_3306 start_3307 /usr/bin/mysql_3307 **深度思考**我们之所以能够连接到数据库里的**本质**是什么答套接字## 2、MySQL忘记密码的解决方案**敲黑板**找问题的解决方法很重要### 1、跳过授权表通用[外链图片转存中...(img-HZPUvN2g-1692341485245)]#### ㈠ 跳过授权表重启数据库以GLIBC 3306为例##### ① 关闭数据库powershell
[rootnode1 ~]# mysqladmin shutdown -p
Enter password:② 跳过授权表启动
**友情提示**启动过程可能会一波三折冷静分析看报错必能解决
# /usr/local/mysql/bin/mysqld --skip-grant-tables --skip-networkingon --usermysql ㈡ 刷新授权表重要
# mysql -uroot -p
Enter password:什么都不要输入直接回车即可mysql flush privileges;
Query OK, 0 rows affected (0.00 sec)㈢ 修改密码
mysql UPDATE mysql.user SET authentication_string PASSWORD(MyNewPass)
WHERE User root AND Host localhost;
mysql FLUSH PRIVILEGES;修改密码后使用jobs kill命令停止正在运行的mysqld进程。然后使用service启动服务
# jobs
# kill %1# service mysql_3306 start