一、CentOS7.0+安装Mysql5.7+
- 安装依赖编译gcc环境
yum install -y cmake make gcc gcc-c++ libaio ncurses ncurses-devel - 解压mysql数据库tar包
将mysql tar包放入自己新建的目录下如: /data/packages,在此目录下解压
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz - 添加系统mysql组和mysql用户
添加系统mysql组 groupadd mysql
添加mysql用户 useradd -r -g mysql mysql (添加完成后可用id mysql查看) - 安装mysql数据库
切到mysql目录
mkdir -p /data/mysql //创建mysql目录
cp -r /data/packages/mysql-5.7.18-linux-glibc2.5-x86_64/* /data/mysql/
mkdir /data/mysql/data
mkdir /data/mysql/log
mkdir /data/mysql/mariadb
touch /data/mysql/mariadb/mariadb.log
cd /data/mysql
修改当前目录拥有者为mysql用户
chown -R mysql:mysql ./
安装数据库
bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
注意:启动后会打印数据库初始密码 - 配置my.cnf
vim /etc/my.cnf
[mysqld]
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
#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
character_set_server=utf8
init_connect=‘SET NAMES utf8’
basedir=/data/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
#不区分大小写
lower_case_table_names = 1
##不开启sql严格模式(注意:NO_ZERO_IN_DATE,NO_ZERO_DATE数据库日期不能为0,去掉即可)
sql_mode = “STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
log-error=/data/mysql/log/mysqld.log
pid-file=/data/mysql/data/mysqld.pid
[mysqld_safe]
log-error=/data/mysql/mariadb/mariadb.log
pid-file=/data/mysql/mariadb/mariadb.pid
#include all files from the config directory
!includedir /etc/my.cnf.d
6. 添加开机启动
cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
7. 修改 vim /etc/init.d/mysqld
添加路径 在46行
basedir=/data/mysql
datadir=/data/mysql/data
8. 启动mysql
service mysqld start
9. 加入开机起动
chkconfig --add mysqld
ln -s /data/mysql/bin/mysql /usr/bin
10. 修改密码
mysql -uroot –p //登录数据库
alter user ‘root’@‘localhost’ identified by ‘root’;
flush privileges;
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
PS:创建zabbix zabbix用户用于监控
GRANT USAGE ON . TO ‘zabbix’@’%’ IDENTIFIED BY ‘zabbix’;
GRANT USAGE ON . TO ‘zabbix’@‘5’ IDENTIFIED BY ‘zabbix’;
flush privileges;
GRANT ALL PRIVILEGES ON . TO ‘zabbix’@’%’ IDENTIFIED BY ‘zabbix’ WITH GRANT OPTION;