MySql高级技术-linux安装MySQL

CentOS安装mysql压缩包版

Posted by LQFGH on January 19, 2019

经历了千难万险终于把 MySQL 安装成功了!!!

以下是我在不同版本CentOS多次安装,严格执行安装步骤应该不会有什么问题

安装步骤都是参口 MySQL 官方文档进行,希望安装的朋友们也可以去参考最新的官方文档安装,也许可以避免不必要的麻烦。 接下来就把安装步骤记录下来,供以后参考。

确保系统中没有没有MySQL


这一步必须做,因为你也不知道你到系统有没有预装MySQL相关的东西

查询系统中有没有安装MySQL
1
rpm -qa | grep -i mysql
如果有的话请卸载干净
1
rpm -e 安装包的名字
确保你到系统中相关的 mysql 残留文件删除干净

主要是删除 my.cnf linux 中是 my.cnf , windows 中是 my.ini ),下面是 MySQL 回去默认找配置文件的地方,自上而下是配置文件的优先级

请注意 只要是 my.cnf.* 都有可能会被 MySQL 加载,所以尽量删除调 我就是因为没有删除配置文件导致浪费了很多时间

安装 MySQL 依赖的库


不管有没有都去执行下

1
2
yum search libaio 
yum install libaio

安装包下载


地址:MySQL下载地址

我下载的版本是 5.7.24

将安装包上传的 CentOS 上,这里就不再赘述

解压安装包


我这里将压缩包解压到 /usr/local ,并将文件夹改为 mysql ,这里基本的命令就不做介绍了

安装目录

安装


添加自己的配置文件

我这里将自己的配置文件放到 /etc/mysql/目录下 我的MySQL的 basedir=/usr/local/mysqldatadir=/var/lib/mysql/data

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
 basedir=/usr/local/mysql
 datadir=/var/lib/mysql/data
# secure-file-priv = ""
 port=3306
# max_connections=20
# character_set_server=utf8
# server_id = .....


# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

#explicit_defaults_for_timestamp=true
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

创建 basedir 目录并将配置文件放进去

1
mkdir -p /etc/mysql/

datadir 的目录创建出来

1
mkdir -p /var/lib/mysql/data
执行安装命令

这里直接按照官方文档的步骤安装,直接复制粘贴,也不容易出问题

这里的由于我已经解压好了,所以中间解压的步骤就省略了

创建软连接我这里不需要,所以省略

接下里是我执行的命令,只需要到与我对应的目录下把我的命令复制粘贴执行就好了就可以了

这里的 mysql 用户和组是专门用来管理 mysql

在执行到 bin/mysqld --initialize --user=mysql (初始化数据)时需要注意下图中红色的地方是数据库的初始化密码

1
2
3
4
5
6
7
8
9
10
11
12
13
groupadd mysql #创建mysql组
useradd -r -g mysql -s /bin/false mysql #创建用户并将其添加到mysql组中
cd /usr/local
chown -R mysql:mysql mysql/
cd mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
bin/mysqld --initialize --user=mysql #这一步如果报错那就是配置文件错误或者配置文件中的`basedir`和`datadir`配置错了,或者`basedir`和`datadir`的路径没有创建
bin/mysql_ssl_rsa_setup
bin/mysqld_safe --user=mysql &
cp support-files/mysql.server /etc/init.d/mysql.server 

启动 MySQL


1
/etc/init.d/mysql.server restart

如图所示启动成功

配置下环境变量

保存并退出,刷新环境变量

1
source /etc/profile

使用之前随机生成的密码登陆

1
mysql -u root -p 

修改密码


这一步是必须做的,否则不能操作数据库

1
alter user 'root'@'localhost' identified by 'new_password';

至此,数据库安装完成