MySQL安装教程
声明: 本教程机器的环境如下
- Linux发行版 CentOS7
- MySQL版本5.7 (教程适合5.7及以上的版本)
- 本教程使用root用户登录全程操作
1.准备工作
卸载MariaDB
建议CentOS7环境下有MariaDB数据库的,可以先删掉了,避免和MySQL冲突。记得如果有数据,记得提前备份
>- 停止并卸载MariaDB服务和安装包
>
>```bash
>yum list installed |grep mariadb # 先查询是否已安装,找到对应的mariadb
>systemctl stop mariadb # 停止服务
>yum remove mariadb mariadb-server
>```
>
>- 删除残留的数据库文件
>
>```bash
>rm -rf /var/lib/mysql
>rm -rf /etc/my.cnf
>```
>
>- 清理缓存
>
>```bash
> yum clean all
>```
>
>- 验证卸载
>
>```bash
>rpm -qa | grep mariadb # 无任何输出,证明已卸载完成
>```
2.安装MySQL 5.7
MySQL安装方式有很多种 选择自己喜欢的方式安装并且熟练它
2.1 第一种方式
直接在命令行中安装yum 仓库,下载源
- 建议创建一个文件夹,作为安装源的存放目录
cd /home mkdir mysql cd mysql
- 通过wegt命令下载yum仓库文件
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
- 安装MySQL源
yum localinstall mysql57-community-release-el7-11.noarch.rpm
- 配置秘钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 # 这个命令是为了确保从 MySQL 官方仓库下载和安装的软件包是真实和完整的,从而增强了系统的安全性。
- 安装MySQL服务
yum install -y mysql-community-server
- 启动MySQL服务并验证
systemctl start mysqld systemctl status mysqld
- 启动成功后,查看给的初始密码
cat /var/log/mysqld.log|grep password
- 使用临时密码登录
mysql -u root –p
- 登录成功后修改自己想要的密码(建议设置为复杂度高的,即使你仅仅可能是为了练手)
alter USER 'root'@'localhost' IDENTIFIED BY 'ztfLY999!!!';
- 查看修改后的密码
use mysql select User,host,authentication_string from user; # 查看到的密码都是加密的,自5.7之后都开始加密了
- 退出,用新密码登录
exit mysql -uroot -p
第一种方式安装完毕
2.2 第二种方式
安装解压版的MySQL 5.7
我下载的是mysql5.7解压版,版本是 mysql-5.7.40-el7-x86_64.tar.gz
进入到页面选择版本以及操作系统后,找到和下方相同的,点击下载即可
Compressed TAR Archive Aug 30, 2022 711.3M Download (mysql-5.7.40-el7-x86_64.tar.gz) MD5: 9a35e45c4fe418b72b43fcc464044ea2
| Signature
然后将此压缩包上传到Linux服务器上,最好也是创建一个存放这个压缩包的目录
# 创建上传目录 $ cd /opt $ mkdir tools $ cd tools # 解压 $ tar -zxvf ./mysql-5.7.40-el7-x86_64.tar.gz # 改个名 $ mv mysql-5.7.40-el7-x86_64 mysql-5.7 #移动mysql5.7到 /usr/local/mysql 目录下 $ mv mysql-5.7 /usr/local/mysql #创建mysql的用户组和用户 $ groupadd mysql $ useradd -r -g mysql mysql #创建一个系统用户mysql 加入mysql 群组,-r[创建系统用户,通常安全性高,没有shell] #给mysql用户授予该目录的权限 $ chgrp -R mysql . # 授予组权限 $ chown -R mysql . # 授予用户权限 #创建MySQL存储数据的目录 $ cd /usr/local/mysql $ mkdir data #进入bin目录进行初始化 $ cd /usr/local/mysql/bin $ ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # 执行完毕,你会看到 [Note] A temporary password is generated for root@localhost: =(HiqizDD3!W # 记住后面的临时root密码,后面要用 #修改数据目录为你的数据目录 cd /usr/local/mysql/support-files vim mysql.server datadir=/usr/local/mysql/data # 找到这个并修改 # 启动mysql服务 # mysqld_safe 是用于启动MySQL服务的脚本 $ cd usr/local/mysql/bin $ ./mysqld_safe --user=mysql & # 后台启动 # 设置环境变量 $ export PATH=$PATH:/usr/local/mysql/bin $ echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile $ source /etc/profile # 设置开机自启动 $ # 登录mysql并修改密码且开启远程连接 ALTER USER 'root'@'localhost' IDENTIFIED BY 'ztfLY999!'; # 开启远程连接 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ztfLY999!' WITH GRANT OPTION; # 刷新权限,命令为 FLUSH PRIVILEGES;
3 常见操作
忘记登录密码
# 修改配置文件 如果没有就创建
$ vim /etc/my.cnf
skip-grant-tables # 写入这个命令 跳过密码验证
$ systemctl restart mysqld # 重启服务
$ mysql # 直接登录