26CentOS7上安装MySQL

摘要:安装了一遍居然出错了,只能卸载再安一遍记录一下。

最近发现做东西总要出错,明明很简单的配置过程总要出点问题,偶尔顺利一次都要怀疑到底对不对。

为防止安装失败,先说卸载

1
2

$ yum list installed mysql*

如果显示了列表,说明系统中有MySQL。

根据列表上的名字进行yum卸载

1
2
3
4
$ yum remove mysql-community-client mysql-community-common mysql-community-libs mysql-community-libs-compat mysql-community-server mysql57-community-release

$ rm -rf /var/lib/mysql
$ rm /etc/my.cnf
  1. rpm查看安装
1
$ rpm -qa | grep -i mysql

根据列表上的名字进行rpm卸载

1
2
3
4
5
6
7
8
9
$ rpm -ev mysql57-community-release-el7-9.noarch
$ rpm -ev mysql-community-server-5.7.17-1.el7.x86_64
$ rpm -ev mysql-community-libs-5.7.17-1.el7.x86_64
$ rpm -ev mysql-community-libs-compat-5.7.17-1.el7.x86_64
$ rpm -ev mysql-community-common-5.7.17-1.el7.x86_64
$ rpm -ev mysql-community-client-5.7.17-1.el7.x86_64

$ cd /var/lib/
$ rm -rf mysql/

注意:这里有可能会抛依赖错误 error:Failed dependencies:,则加上 –nodeps不检查依赖关系删除,命令如下:

1
$ rpm -e --nodeps mysql-community-server-5.7.17-1.el7.x86_64

清除余项

1
2
3
4
5
6
$ whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/local/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
# 删除上面的文件夹
$ rm -rf /usr/bin/mysql


删除配置

1
2
$ rm –rf /usr/my.cnf
$ rm -rf /root/.mysql_sercret

剩余配置检查

1
2
$ chkconfig --list | grep -i mysql
$ chkconfig --del mysqld

根据上面的列表,删除 , 如:mysqld

安装

  1. 安装软件源
1
2
$ wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
$ rpm -ivh mysql57-community-release-el7-9.noarch.rpm
  1. 接下来使用yum安装
1
2
3
4
5
6
# 更新yum软件包
$ yum check-update
# 更新系统
$ yum update
#安装mysql
$ yum install mysql mysql-server
  1. 安装完成后启动服务
1
2
$ service start mysqld
$ systemctl start mysqld.service
  1. 查看MySQL的运行状态
1
2
$ service mysqld status
$ systemctl status mysqld.service
  1. 获取MySQL的默认密码

MySQL5.7安装完成后为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。
只有启动过一次mysql才可以查看临时密码。

1
$ grep 'temporary password' /var/log/mysqld.log

image-20200226214404829

我这里的密码是rMThio2k>aWp

  1. 使用默认密码登录并修改密码
1
$ mysql -u root -p
1
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

如果密码太简单,会出现一个错误ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,对于这个错误,可以修改两个参数

1
2
mysql> set global validate_password_policy=0; 
mysql> set global validate_password_length=1;

再次执行修改密码就可以了

  1. 授权可以外网访问MySQL
1
2
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;