Windows 以及 CentOS 下的 MySQL 安装

在不同系统下安装配置 MySQL 的过程中遇到不少问题,特此记录。

Windows 下配置免安装版 MySQL 5.7

  1. MySQL Community Server 下载页面下载 zip 版本并解压,比如解压到 D:\\MySQL 目录下
  2. MySQL 根目录添加配置文件 my.ini
    my.ini
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    [mysqld]
    port = 3677
    basedir = "D:\\MySQL"
    datadir = "D:\\MySQL\\data"
    sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    max_connections = 200
    character-set-server = utf8
    default-storage-engine = INNODB
    explicit_defaults_for_timestamp = true

    # innodb_buffer_pool_size = 128M
    # join_buffer_size = 128M
    # sort_buffer_size = 2M
    # read_rnd_buffer_size = 2M

    [mysqladmin]
    user = "root"
    port = 3677
  3. 初始化 MySQL 数据库:
    1
    "D:\MySQL\bin\mysqld.exe" --defaults-file="D:\\MySQL\\my.ini" --initialize-insecure --console
  4. 此时已有无密码账户 root,更改密码:
    1
    "D:\MySQL\bin\mysqld.exe" --defaults-file="D:\\MySQL\\my.ini" --console
  5. 另开终端,输入 mysql -uroot -P 3677 -p 直接回车, 并键入(<password> 为密码):
    1
    2
    3
    update mysql.user set authentication_string=password('<password>') where user='root';
    flush privileges;
    quit;
    在 MySQL 8 版本中更加便捷:
    1
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
  6. 安装 MySQL 服务。在 D:\MySQL\bin 目录下以管理员身份键入 mysqld --install

参考


CentOS 系统部署 MySQL 5.7

  1. 添加 MySQL 的 Yum 仓库:Download MySQL Yum Repository
    1
    2
    3
    wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    rpm -ivh mysql57-community-release-el7-11.noarch.rpm
    yum install mysql-server
  2. 启动 MySQL 服务:
    1
    2
    systemctl start mysqld
    systemctl status mysqld
  3. 更改 root 用户密码:
    1
    2
    mysqladmin -uroot password -p
    <password>
  4. 允许远程访问:
    1
    2
    3
    % mysql -uroot -p
    grant all privileges on *.* to 'root'@'%' identified by '<password>';
    flush privileges;

配置文件

/etc/my.cnf
1
2
3
4
5
6
7
8
9
10
11
[mysqld]
port = 3677

max_connections = 200
character-set-server = UTF8MB4
default-storage-engine = INNODB
explicit_defaults_for_timestamp = true

[mysqladmin]
user = "root"
port = 3677

问题

rpm 无法添加仓库

如果不是全新安装,需要手动删除之前用 rpm 安装的 mysql 相关的包

服务无法启动

重设 MySQL 数据目录的权限:

1
chmod -R 777 /var/lib/mysql

参考