Mysql 安装教程

85 阅读4分钟

常见的根目录下的文件和目录的含义

  1. /bin:包含了系统的基本命令(如ls、cp、mv等)。
  2. /boot:包含了启动系统所需的文件,如内核和引导加载程序。
  3. /dev:包含了设备文件,用于与硬件设备进行交互。
  4. /etc:包含了系统的配置文件,如网络配置、用户配置等。
  5. /home:包含了用户的主目录,每个用户都有一个对应的子目录。
  6. /lib:包含了系统所需的共享库文件。
  7. /media:用于挂载可移动设备(如光盘、USB驱动器)的目录。
  8. /opt:用于安装第三方软件的目录。
  9. /proc:包含了系统内核和进程的信息,以文件形式呈现。
  10. /root:超级用户(root)的主目录。
  11. /sbin:包含了系统管理员使用的系统命令。
  12. /tmp:用于存储临时文件的目录。
  13. /usr:包含了系统的应用程序和文件,如用户安装的软件。
  14. /var:包含了系统的可变数据,如日志文件、邮件等。

查看是否安装过MySQL

1.mysql --version 显示MySQL的版本信息

2.rpm -qa|grep mysql 查看已经安装的MySQL相关的软件包"rpm -qa"是用来列出系统上所有已安装的软件包

  1. mysql --version 显示MySQL的版本信息

  2. uname -a 显示Linux的版本信息,包括发行版名称、版本号和内核版本等

  • Linux:操作系统的名称。
  • localhost.localdomain:主机名。
  • 3.10.0-693.el7.x86_64:内核版本号。
  • #1 SMP Tue Aug 22 21:09:27 UTC 2017:内核编译时间和日期。
  • x86_64 x86_64 x86_64:硬件架构。
  • GNU/Linux:操作系统类型。

这条信息告诉我们,该系统是基于Linux内核版本3.10.0-693.el7.x86_64的,运行在x86_64架构上的GNU/Linux操作系统。

卸载旧版mysql

  • yum remove mysql mysql-server mysql-libs mysql-common  
  • rm -rf /var/lib/mysql
  • rm /etc/my.cnf

yum在线安装教程

下载安装官网yum源

  • wget dev.mysql.com/get/mysql80… 用于从指定的URL下载文件
  • rpm -ivh mysql80-community-release-el7-1.noarch.rpm 安装MySQL 8.0社区版的软件包

查看可以安装哪些版本MySQL

yum repolist all |grep mysql

安装MySQL

yum -y install mysql-community-server yum安装 mysql-community-server

MySQL Community Server是MySQL数据库的开源版本,它是一个功能强大且稳定的关系型数据库管理系统。MySQL Community Server提供了许多高级功能,如事务处理、复制、集群和安全性等。它支持多种操作系统,并且具有广泛的应用领域,包括Web应用程序、企业级应用程序和大数据分析等

rpm -qa mysql-community-server

查看已安装的MySQL社区版服务器软件的版本信息

启动MySQL服务并进入MySQL交互模式

  • systemctl start mysqld.service 启动
  • mysql systemctl restart mysqld.service 重启
  • mysql systemctl status mysqld.service 查看msyql状态
  • systemctl stop mysqld.service   停止mysql

查看默认mysql随机密码

cat /var/log/mysqld.log | grep password

登录MySQL

mysql -u root -p

MySQL修改默认密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root_123R';

先按mysql密码策略修改密码

  • set global validate_password.policy=0;//关闭密码复杂性策略
  • set global validate_password.mixed_case_count=0;//密码至少要包含的小写字母个数和大写字母个数
  • set global validate_password.number_count=0; // 密码至少要包含的数字个数。
  • set global validate_password.special_char_count=0; // 密码至少要包含的特殊字符数
  • set global validate_password.length=1; //设置最低密码长度为1
  • alter user 'root'@'localhost' identified by '123456';

MySQL修改默认字符集

在/etc/my.cnf配置文件中添加如下内容

  • [mysqld]
  • character-set-server=UTF8MB4
  • default-storage-engine=INNODB
  • default_authentication_plugin=mysql_native_password wait_timeout=1814400
  • [mysql]
  • default-character-set=UTF8MB4
  • [client] default-character-set=UTF8MB4

查看字符集设置

show variables like 'character%';

image.png

开启mysql远程访问权限

  • 进入到系统数据库mysql,修改该库下user表的host列
  • update user set host='%' where user='root';
  • 执行两次下面的命令
  • grant all privileges on test.* to 'root'@'%';
  • 刷新数据库配置
  • flush privileges;

关闭linux防火墙

systemctl stop firewalld

小问题需要注意

image.png

  1. 进入到mysql数据库 use mysql;
  2. 更改加密方式 ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
  3. 修改密码 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  4. 刷新数据库配置 flush privileges;