0%

CentOS7 yum 安装mysql 5.7

下载 MySQL Yum Repository

1
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

添加 MySQL Yum Repository

1
2
3
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
或者
yum localinstall mysql80-community-release-el7-1.noarch.rpm

验证下是否添加成功

1
2
3
4
5
yum repolist enabled | grep "mysql.*-community.*"
// 查看 YUM 仓库关于 MySQL 的所有仓库列表
yum repolist all | grep mysql
// 只查看启用的
yum repolist enabled | grep mysql

选择要启用 MySQL 版本

查看 MySQL 版本,执行

1
yum repolist all | grep mysql

可以通过类似下面的语句来启动某些版本

1
2
3
4
5
6
7
// 安装 YUM 管理工具包,此包提供了 yum-config-manager 命令工具
yum install yum-utils
禁用 8.0
yum-config-manager --disable mysql80-community
启用 5.7
yum-config-manager --enable mysql57-community

通过 Yum 来安装 MySQL

1
yum install mysql-community-server

管理mysql

1
2
3
4
5
6
7
8
// 启动
systemctl start mysqld.service
// 查看状态
systemctl status mysqld.service
// 开机自启动
systemctl enable mysqld.server
// 查看监听端口,默认 3306
ss -natl |grep 3306

MySQL 安全设置(设置密码)或者跳过

1
mysql_secure_installation

初始化 Mysql

在 MySQL 服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:

  • MySQL 服务器已初始化。
  • 在数据目录中生成SSL证书和密钥文件。
  • validate_password插件安装并启用。
  • 将创建一个超级用户 帐户'root'@'localhost'。并会设置超级用户的密码,将其存储在错误日志文件中。要显示它,请使用以下命令:
    1
    grep 'temporary password' /var/log/mysqld.log
  • 通过上面日志中的临时密码登录并为超级用户帐户设置自定义密码:
1
mysqladmin -p'%#ootFm%a80' password  '%#ootFm%a801'

取消密码复杂度

  • 编辑 my.cnf配置文件, 在 [mysqld]配置块儿中添加如下内容
    1
    2
    plugin-load=validate_password.so 
    validate-password=OFF

远程访问设置

1
2
3
mysql>use mysql;  
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力
mysql> flush privileges;

数据存储位置更改

先关闭数据库

1
2
3
cp -rp /var/lib/mysql /data/

-p:源目录或者文件的属性保留

修改/etc/my.cnf文件,否则会提示ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

1
2
3
4
5
6
7
8
ln –s /data/mysql/mysql.sock /var/lib/mysql/

或者

[client]
socket = /data/mysql/mysql.sock
[mysqld]
socket = /data/mysql/mysql.sock