CentOS 7 安装 mysql 5.7.27 for zabbix
本文是因为需要安装zabbix系统,才贴出的此步骤,供自己查阅方便之用;
在安装使用zabbix前,需要先安装数据库,这里使用的是MySQL数据库进行部署,给出安装步骤,大家觉得有用也可收藏;
当然安装MySQL不仅仅可以用作zabbix,如果部署其他需要MySQL数据库环境的话,可以借鉴。
#把下载好的mysql安装包解压到当前目录
tar -xzvf mysql-5.7.27-el7-x86_64.tar.gz
#删除my.cnf主配置文件[mysql 5.7.18 后版本无需my.cnf文件也可运行]
rm -rf /etc/my.cnf
#创建服务程序目录
mkdir /usr/local/mysql
#创建数据库目录
mkdir /usr/local/mysql/var
#创建组
groupadd mysql
#创建用户
useradd -r -g mysql -s /bin/false mysql
#设置所有者、所有组
chown -Rf mysql:mysql /usr/local/mysql/
#进入到解压目录中将解压文件移动到服务程序目录
cd mysql-5.7.27-el7-x86_64/ mv * /usr/local/mysql/
#进入mysql服务程序目录
cd /usr/local/mysql/
#安装数据库并指定参数[二选一]
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --initialize //会在最后一行生成密码 # root@localhost: &l9ibdu1t7Ak #备选安装方式 ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var
#修改my.cnf主配置文件【目前最新版本无需使用此文件,但是zabbix需要】
vim /etc/my.cnf
[mysqld] user=mysql port=3306 basedir=/usr/local/mysql datadir=/usr/local/mysql/var socket=/tmp/mysql.sock character-set-server=utf8 //重要,设置字符集为UTF-8 innodb_file_per_table=1 //重要,让InnoDB的每个表文件单独存储 # 取消密码验证 # skip-grant-tables # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
#复制开机程序到启动目录并赋予755权限
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld chmod 755 /etc/rc.d/init.d/mysqld
#编辑启动文件
vim /etc/rc.d/init.d/mysqld basedir=/usr/local/mysql datadir=/usr/local/mysql/var
#启动mysql
service mysqld start
#mysql加入开机启动
chkconfig mysqld on
#在此文件中添加环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
#加载配置文件
source /etc/profile
#可能会用到的环境文件,如果需要时设置
mkdir /var/lib/mysql ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock ln -s /usr/local/mysql/include/mysql /usr/include/mysql
#修改用户密码
#首先登录MySQL。
格式:mysql> SET PASSWORD FOR '用户名'@'localhost' = PASSWORD('新密码'); 例子:mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password');
******数据库拓展*****************************************************************
#查看用户
#进入mysql内置数据库
USE mysql SELECT Host , User FROM mysql.user;
#建立远程登录用户
格式:CREATE USER '用户名'@'%' IDENTIFIED BY '密码'; 例子:CREATE USER 'andy'@'%' IDENTIFIED BY '123456';
#查看mysql监听端口
netstat -anpt | grep 3306
#防火墙添加3306端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp firewall-cmd --reload firewall-cmd --list-all
#查看andy用户权限
SHOW GRANTS FOR 'andy'@'localhost';
#赋予andy用户最高权限
GRANT ALL PRIVILEGES ON *.* TO 'any'@'%' WITH GRANT OPTION;
#赋予andy用户查,改,增权限
GRANT Select, Update, Insert ON *.* TO 'andy'@'%';
#注:(WITH GRANT OPTION参数:有此参数表示可以将自己权限内的所有或部分权限授予其他用户,无此参数则不可给其他用户授权)
######################## 注意 ##########################
#
# 所有的权限为:
# Alter 修改表和索引
# Create 创建数据库和表
# Delete 删除表中已有的记录
# Drop 抛弃(删除)数据库和表
# INDEX 创建或抛弃索引
# Insert 向表中插入新行
# REFERENCE 未用
# Select 检索表中的记录
# Update 修改现存表记录
# FILE 读或写服务器上的文件
# PROCESS 查看服务器中执行的线程信息或杀死线程
# RELOAD 重载授权表或清空日志、主机缓存或表缓存。
# SHUTDOWN 关闭服务器
# ALL 所有;ALL PRIVILEGES同义词
# USAGE 特殊的“无权限”权限
#
###########################################################