MySQL安装


安装包下载地址: https://downloads.mysql.com/archives/community/
在这里插入图片描述

查看是否已经有了安装的MySQL

检查系统是否安装mysql:

rpm -qa | grep mysql

如果有则强制卸载:

rpm -e --nodeps $(rpm -qa | grep mysql)

或者用

find / -name mysql
# 或者 whereis mysql 查询MySQL相关文件
# 发现后用rm -rf删除

MySQL 安装

上传至服务器并解压文件,必须将MySQL转义到/usr/local/mysql/目录下,否则启动会报错

tar -xvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.37-linux-glibc2.12-x86_64/* /usr/local/mysql/ # 修改MySQL目录,如果/usr/local/mysql/不存在就新建

建立用户和组

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

创建相关目录

mkdir -p /data/mysql
chown -R mysql:mysql /data  # 给MySQL授权此目录权限
chown -R mysql:mysql /usr/local/mysql/
chmod 755 /data
``
## 配置环境变量
配置root用户环境变量

```sql
cat <<EOF>> /root/.bash_profile  # <<EOF>>标识输入EOF后结束编辑

在文件可编辑状态输入

> export PATH=\$PATH:/usr/local/mysql/bin
> EOF

生效环境变量

source /root/.bash_profile

编译和初始化

./mysqld --initialize --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql

执行完成后把密码复制出来
在这里插入图片描述

配置my.cnf

在MySQL目录 cd /usr/local/mysql/创建my.cnf

[mysqld] 
user=mysql
datadir=/data/mysql
basedir=/usr/local/mysql
pid-file=/data/mysql/mysql.pid
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8mb4
socket=/data/mysql/mysql.sock

[mysqld]不能少,此是文件头
socket和pid-file最好指定并且给mysql用户赋权限,如果启动报错有和此配置文件不一致的,可能是/etc/my.cnf导致的,删除掉/etc/my.cnf,用自定义的软连接到此处,ln -s /usr/local/mysql/my.cnf /etc/my.cnf
启动服务

/usr/local/mysql/support-files/mysql.server start

在这里插入图片描述
此表示启动成功

添加mysql 软连接并重启mysql服务

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart

修改密码

登录

mysql -u root -p  #提示输入密码后输入密码
set password for root@localhost = password('123456'); # 123456为修改后的密码

8.0.31版本修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

修改任何ip都可以访问

use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

日志文件

日志文件路径配置在my.cfg中,也可以通过名称查询,
查看日志路径 show variables like ‘log_%’;

vim /etc/my.cnf

[mysqld]
#错误日志
log-error=/usr/local/mysql/data/mysql_error.log	   #指定错误日志的保存路径
#通用查询日志  不建议开
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
#二进制日志
log-bin=mysql-bin  或log_bin=mysql-bin
#慢查询日志
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5     #设置超时时间

#配置文件添加完后需要重启MySQL
systemctl restart mysql

rmp方式安装

wget --no-check-certificate https://repo.mysql.com/mysql80-community-release-el7-5.noarch.rpm

yum localinstall -y mysql80-community-release-el7-5.noarch.rpm

yum install -y mysql-community-server

只安装客户端

安装时要加–nogpgcheck,否则会验证密钥

wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
sudo rpm -Uvh mysql80-community-release-el7-5.noarch.rpm
sudo yum install mysql --nogpgcheck

离线安装

下载mysql的安装压缩包,下载地址:https://downloads.mysql.com/archives/community/
下载5版本的最新版本,8版本的解压后可能会提示没有其他依赖
在这里插入图片描述
下载好后,解压后进入bin目录使用./mysql命令即可

安装过程中遇到的问题

  1. 一开始没有把MySQL安装目录设置到/usr/local/mysql启动报错
  2. 没有设置pid文件启动报错
  3. 登录时没有mysql.sock文件报错
  4. 还有启动时报忽略my.cnf文件,原因是my.cnf权限为777,需要修改为655才不会被忽略
    以上几种都创建文件后,然后给mysql用户授权即可,通过chown -R mysql:mysql 文件路径
  5. 使用mysql -uroot -p连接时一直提示ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2),虽然配置了socket文件的路径还是报这个错误,需要用软连接将配置的和报错中的路径连接起来ln -s /data/mysql/mysql.sock /tmp/mysql.sock,启动时需要用service mysql start启动,没有软连接时也可以连接mysql,加上-h 127.0.0.1参数,看网上说用此参数就成了TCP连接
  6. Failed to find valid data directory ,mysql初始化的时候找不到对应的数据库存储目录,启动时启动页面报ERROR! The server quit without updating PID file (/data/mysql/mysql.pid)
    解决:手动删掉自己创建的data文件夹,再执行./mysqld --initialize --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql程序会在自动MySQL文件夹下创建data文件夹以及对应的文件
    此是解决方式一种,其实其他报错也会提示ERROR! The server quit without updating PID file (/data/mysql/mysql.pid),只有查看错误日志才会知道真正的失败原因,还有最好把自己创建的my.cnf软连接到/etc/my.cnf
  7. Different lower_case_table_names settings for server ('1') and data dictionary ('0').启动错误日志中报这个,需要在初始化和编译时添加上--lower_case_table_names=1
<think>好的,我需要帮助用户检查MySQL是否安装成功。根据用户提供的引用内容,我需要整理出不同的验证方法,并确保步骤清晰易懂。 首先,用户可能使用的是不同的操作系统,但引用内容中提到的方法主要针对Windows,比如通过命令提示符或者开始菜单中的MySQL命令行客户端。不过,有些步骤可能也适用于其他系统,比如使用终端检查版本。 接下来,我应该分步骤列出不同的验证方法。引用中提到的方法包括:通过命令行查看版本、登录MySQL服务器、检查开始菜单中的快捷方式、查看安装目录以及使用status命令。需要将这些方法逐一整理,确保每个步骤都正确无误,并且引用对应的来源。 另外,用户可能需要知道如何启动MySQL服务,如果服务未运行,即使安装了也无法验证成功。所以应该提醒用户检查服务状态,尤其是在遇到连接问题时。 在整理过程中,要注意使用中文,并且按照系统级指令的要求,行内公式用$...$,但这里可能不需要数学公式,所以重点放在正确的命令和步骤上。同时,需要生成相关问题,这些问题应该与检查安装状态相关,比如安装失败的处理、服务启动、配置环境变量等。 最后,确保回答结构清晰,分点说明,并正确标注引用来源。需要检查是否有遗漏的步骤或错误的信息,比如引用[4]中提到的两种验证方法,需要详细展开,并确保命令正确,比如使用mysql -V和mysql -u root -p等。 可能还需要提醒用户关于环境变量配置的问题,如果直接在命令提示符输入mysql提示找不到命令,可能需要手动添加安装目录到环境变量中,或者切换到安装目录下的bin文件夹执行命令。这一点在引用[1]和[4]中都有提到,需要包含在回答中。 总结步骤: 1. 使用命令行查看版本 2. 登录MySQL服务器 3. 检查开始菜单中的程序 4. 查看安装目录 5. 使用status命令 6. 检查MySQL服务状态 每个步骤需要简明扼要,并附上示例命令和可能的结果。同时,相关问题需要围绕安装验证展开,帮助用户解决可能遇到的问题。</think>### 检查MySQL是否安装成功的步骤 #### 方法1:通过命令行验证MySQL版本 1. 打开终端(Windows为命令提示符或PowerShell)。 2. 输入以下命令并执行: ```bash mysql -V ``` - 若显示类似 `mysql Ver 8.0.33 for Win64 on x86_64` 的版本信息,则表明MySQL安装[^1][^3]。 - 若提示“command not found”或“不是内部命令”,可能是未安装或未配置环境变量[^1]。 #### 方法2:登录MySQL服务器 1. 在终端输入命令尝试登录: ```bash mysql -h localhost -u root -p ``` - 输入密码后,若进入MySQL命令行界面(显示 `mysql>`),则安装成功[^4]。 - 若提示连接错误,可能是MySQL服务未启动(见方法6)。 #### 方法3:检查开始菜单快捷方式 - 在Windows系统中,若安装时选择了默认配置,可在“开始”菜单中找到 `MySQL 5.7 Command Line Client` 或类似名称的程序。打开后输入密码,若显示服务器版本(如 `5.7.17-log`),则安装成功。 #### 方法4:查看安装目录 - 导航至MySQL默认安装路径(如 `C:\Program Files\MySQL\MySQL Server 8.0\bin`),若存在 `mysql.exe` 等文件,则表明已安装。 #### 方法5:使用`status`命令验证 1. 登录MySQL后执行: ```sql status; ``` - 返回信息包含版本号、连接端口等,进一步确认安装状态。 #### 方法6:检查MySQL服务状态(Windows) 1. 按 `Win + R`,输入 `services.msc`。 2. 在服务列表中找到 `MySQL` 或类似名称的服务。 - 若状态为“正在运行”,则服务已启动。 - 若未运行,右键选择“启动”即可[^4]。 --- ### 常见问题解决 - **环境变量未配置**:若命令行提示“找不到mysql”,需手动将MySQL的`bin`目录(如 `C:\Program Files\MySQL\MySQL Server 8.0\bin`)添加到系统环境变量[^1]。 - **服务启动失败**:检查安装日志或重新运行MySQL安装程序修复配置。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值