MySQL 是我们最常用的开源的关系型数据库, MySQL 不同版本有时候安装的方式也不尽相同, 下面以 mysql5.7.28 版本为例梳理一下安装细节:
1. 下载 MySQL-5.7.28,URL: https://downloads.mysql.com/archives/community/ 我这里下载的是 64 位版本
下载后文件为: MySQL-5.7.28-Linux-glibc2.12-x86_64.tar.gz
2. 卸载自带的 mariadb 和 MySQL
检查是否安装了 mariadb 和 MySQL, 有时候默认安装了
- rpm -qa | grep mariadb
- rpm -qa | grep MySQL
如果没有, 就可以安装 MySQL, 如果有, 需要先卸载 (remove 后为上面命令查询到的内容, 全文件名, 我这里没有, 没法展示)
yum remove mariadb-xxx
3. 解压文件, 修改目录名方便配置
- tar -zxvf MySQL-5.7.28-Linux-glibc2.12-x86_64.tar.gz -C /opt/soft/
- cd /opt/soft
- mv MySQL-5.7.28-Linux-glibc2.12-x86_64 MySQL-5.7.28
4. 在 / usr/local / 目录下创建到 / opt/soft/MySQL-5.7.28 的软链接
- cd /usr/local
- ln -s /opt/soft/MySQL-5.7.28 MySQL
5. 添加 MySQL 用户, 修改 MySQL 目录权限, 并用此用户执行应用
- useradd -s /bin/false -M MySQL
- cd /opt/soft
- chown -R MySQL:MySQL MySQL-5.7.28
6. 拷贝配置文件, 将 MySQL 的配置文件拷贝为 / etc / 目录下的 my.cnf, 并修改配置文件
- VIM /etc/my.cnf
- [mysqld]
- # binlog 配置
- log-bin=/usr/local/MySQL/logs/MySQL-bin.log
- expire-logs-days=14
- max-binlog-size=500M
- server-id=1
- # GENERAL
- basedir=/usr/local/MySQL
- datadir=/usr/local/MySQL/data
- socket=/usr/local/MySQL/MySQL.sock
- user=MySQL
- default-storage-engine=InnoDB
- character-set-server=utf8
- lower_case_table_names = 1
- explicit_defaults_for_timestamp=true
- [mysqld_safe]
- log-error=/usr/local/MySQL/MySQL-error.log
- pid-file=/usr/local/MySQL/mysqld.pid
- [client]
- socket=/usr/local/MySQL/MySQL.sock
- [MySQL]
- default-character-set=utf8
- socket=/usr/local/MySQL/MySQL.sock
7. 安装 MySQL, 进入 MySQL 目录执行以下命令
- cd /opt/soft/MySQL-5.7.28
- bin/mysqld --initialize --user=MySQL --basedir=/usr/local/MySQL --datadir=/usr/local/MySQL/data
如果出现如下错误, 说明需要安装依赖包:
安装 autoconf 依赖包:
yum -y install autoconf
再次执行脚本
如果出现以下错误, 说明在 my.cnf 中指定的 binlog 配置文件的 logs 文件夹不存在:
在 / usr/local/MySQL / 下创建 logs 文件夹就行了, 并改为 MySQL 用户
再次执行脚本
出现以下信息, 代表成功, 要保存一下密码,
8. 拷贝启动程序, 将 MySQL 的启动程序拷贝到 / etc/init.d / 目录下
cp /usr/local/MySQL/support-files/MySQL.server /etc/init.d/mysqld
9. 安装完, 启动 MySQL 服务
service mysqld start
如果出现如下错误:
- [root@s144 support-files]# service mysqld start
- Starting MySQL.2020-01-31T23:14:27.412533Z mysqld_safe error: log-error set to '/usr/local/mysql/mysql-error.log', however file don't exists. Create writable for user'MySQL'.
- ERROR! The server quit without updating PID file (/usr/local/MySQL/data/s144.pid).
说明 MySQL-error.log 不存在, 手动去创建, 并修改权限
- cd /opt/soft/MySQL-5.7.28
- touch MySQL-error.log
- chown MySQL:MySQL MySQL-error.log
出现 SUCCESS, 说明启动成功
10. 配置环境变量, 编辑 / etc/profile, 方便在任何地方用 MySQL 命令
- VIM /etc/profile
- #MySQL
- export MYSQL_HOME=/usr/local/MySQL
- export PATH=$PATH:$MYSQL_HOME/bin
别忘记重新编译 /etc/profile
source /etc/profile
11. 登录 MySQL, 修改密码
首次登录没有密码, 提示输入密码时, 输入第 7 步安装时生成的密码: p5j2jfX7am.h
MySQL -uroot -p
这里要先使用 alter user 重置密码, 不然会报错, 我这里 修改 MySQL root 用户密码 为 111111 :
- MySQL> alter user 'root'@'localhost' identified by '111111';
- MySQL> flush privileges;
至此本机登录密码修改完成, 若是想让其他机器访问, 需要配置远程访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;
使用远程工具测试一下:
至此搭建 MySQL-5.7.28 版本就完成了
12. 一些常用命令
- service mysqld start #启动
- service mysqld stop #关闭
- service mysqld restart #重启
- service mysqld status #查看运行状态
来源: https://www.cnblogs.com/qixing/p/12271499.html