CENTOS 7 下 RPM安装MYSQL

MySQL 推荐使用 RPM 包进行 Linux 平台下的安装,因为 RPM 包的安装和卸载都很方便,通过简单的命令就可以实现。本节主要介绍 Linux 下如何使用 RPM 包安装和配置 MySQL。

本节的安装环境为 CentOS 6.5,选用 el6 的安装包。读者应根据自己的系统来选择相对应的安装包,例如:CentOS 7 应该选用 el7 安装包。如果安装包对应的系统版本不正确,安装时会出现有关 glibc 的依赖错误。

下面通过 RPM 包进行安装,具体操作步骤如下:

步骤 1):进入官方下载页面(http://dev.mysql.com/downloads/mysql)选择要下载的包(可直接点击下方链接进行下载)。


步骤 2):下载完成后,切换到 root 用户。按照依赖关系依次安装 rpm 包,依赖关系依次为 common→libs→client→server。使用命令rpm -ivh {-file-name}进行安装操作。

rpm -ivh mysql-community-common-5.7.29-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.29-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.29-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.29-1.el6.x86_64.rpm

ivh 中,i-install 参数表示安装后面的一个或多个 RPM 软件包;v-verbose 参数表示安装过程中显示详细的信息;h-hash 参数表示使用“#”来显示安装进度。

在 Linux 操作系统下安装 MySQL 时,一定要注意权限问题。安装 RPM 软件包时,需要使用 root 权限,否则会提示权限不够。且安装完成后,也需要使用 root 权限启动和关闭 MySQL 服务。

安装后相关文件说明:

rpm安装默认目录:
数据文件:/var/lib/mysql/
安装目录:/usr/share/mysql
mysql客户端工具目录:/usr/bin
日志目录:/var/log/
pid,sock文件目录:/tmp/
一般配置文件会放置在/etc下

创建配置文件,cd /etc里面:

cp my.cnf.rpmnew my.cnf

内容如下:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
skip-grant-tables
#
# 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
#
# 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
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

# 服务端口号,默认为 3306
port=3306
# # MySQL 服务的唯一编号,每个 MySQL 服务的 id 需唯一。
#server-id = 1
# 数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用 4 个字节)
character-set-server = utf8mb4
# 数据库字符集对应一些排序等规则,注意要和 character-set-server 对应
collation-server = utf8mb4_general_ci
# # 设置 client 连接 mysql 时的字符集,防止乱码
#init_connect='SET NAMES utf8mb4'
# # 是否对 sql 语句大小写敏感,1 表示不敏感
lower_case_table_names = 1
# # 用于指定索引缓冲区的大小
key_buffer_size=16M
# # 设置一次消息传输的最大值
max_allowed_packet=8M
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB



步骤 3):通过以下命令可以启动 MySQL 数据库,但是必须使用 root 权限。

service mysql start
或者
systemctl start mysqld.service
都试试

MySQL 服务的操作命令是:

service mysql start | stop | restart | status
或者
systemctl start | stop | restart | status mysqld.service

以上几个参数的意义如下:

  • start:启动 MySQL 服务
  • stop:停止 MySQL 服务
  • restart:重启 MySQL 服务
  • status:查看 MySQL 服务状态

步骤 4):服务启动后,查找 root 初始随机密码(如果没有初始密码,直接输入用户名 root 登录即可)

set password for root@localhost=password("你的密码")

其他参考:http://c.biancheng.net/view/7616.html

设置远程主机登录,注意下面的your username 和 your password改成你需要设置的用户和密码

GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;

其他参考:https://www.cnblogs.com/jiangxiaobo/p/12337026.html

这里说明下需求:root账号不开设远程访问,airclean用户开设远程访问,而且只针对于某一个数据库,那么我可以写:

# 创建一个用户
CREATE USER 'aircleaner'@'%' IDENTIFIED BY 'xxxx';

# 设置远程访问权限
GRANT ALL PRIVILEGES ON  sd.* TO 'aircleaner'@'%' IDENTIFIED BY 'xxxx';

# 生效
flush privileges;
原文地址:https://www.cnblogs.com/jiangxiaobo/p/13326804.html