第六周_T-Linux 安装 MySQL

49 阅读2分钟

背景

某个项目使用的是 MySQL 8 ,但是我的 mini 云服务上是 MySQL5.7 版本的,自然不合适。因为高版本的 MySQL 支持很多高级的函数,比如递归 With ... AS ...

反正自己服务器上 MySQL 没啥东西,所以直接卸载重装。

卸载原来的 MySQL

如果你原来没有安装 MySQL ,那么可以直接省略。如果安装了,参照如下:

  1. 执行 yum remove mysql mysql-server mysql-libs mysql-server
  2. 执行 rm -rf /var/lib/mysql
  3. 执行 rpm -qa | grep mysql
  4. 将第三步找出来的RPM包,执行 yum remove 包名进行卸载

安装 MySQL

选择自己需要安装的版本,我们可以在mysql官方包网址选择我们需要的包,本次我选择的是(mysql80-community-release-el7-2.noarch.rpm)

执行 wget dev.mysql.com/get/mysql80…

下载完成后,执行 yum localinstall mysql80-community-release-el7-2.noarch.rpm来安装下载的包

执行 sudo yum install mysql-server安装MySQL服务

接下来就是等待下载完成,中途需要输下y

安装完成后执行mysql可能会出现 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) 这样的错误,这是由于文件权限导致的,我们执行 sudo chown -R root:root /var/lib/mysql来解决 (权限改为当前用户)

修改密码

  1. less /var/log/mysqld.log
  2. 登录后马上修改:ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

配置区分大小写

注意一定要在启动 MySQL 之前配置好:

在MySQL配置文件( /etc/my.cnf )中添加 lower_case_table_names=1

如果启动之后再配置重启,是不生效的。需要删除工作目录,然后再配置一遍密码再配置大小写

  1. 删除数据目录,即删除 /var/lib/mysql 目录
  2. 在MySQL配置文件( /etc/my.cnf )中添加 lower_case_table_names=1
  3. 启动 MySQL

但是删除数据目录了,重置密码/允许远程登录又得来一遍「参考上面的步骤」

允许远程登录

  1. 进入mysql
  2. use mysql;
  3. select host, user, plugin from user; ##如果有 % | root 表示可以远程方法,如果没有
  4. update user set host='%' where user='root';
  5. FLUSH PRIVILEGES;

总结

区分大小写是代码运行踩坑后,才配置的。

允许远程登录是重装 MySQL 后,本地不能登录踩坑的。

修改密码也是重装涉及到的问题。

最重要的是在启动 MySQL 初始化之前,区分大小写得配置好,不然只能重新来一遍。