Centos下mysql的使用

安装环境

操作系统:centos6.6
mysql版本:5.7

安装前的准备

下载通用二进制包

在这里插入图片描述

清理历史环境

需要使用root身份操作

[ray@hadoop202 ~]$ sudo su - root
[root@hadoop201 ~]# rpm -qa | grep mysql
mysql-community-release-el6-5.noarch

# 删除掉mysql-community-release-el6-5.noarch
[root@hadoop201 ~]# sudo yum remove mysql-community-release-el6-5.noarch -y
sudo yum -y remove mysql-libs* -y
创建用户和组
[ray@hadoop202 ~]$ sudo useradd mysql -s /sbin/nologin
[ray@hadoop202 ~]$ id mysql
uid=503(mysql) gid=503(mysql)=503(mysql)
创建相关目录
  1. 创建软件目录:/opt/module/mysql(国际标准是存放到/usr/local目录)
  2. 创建数据目录:/data/mysql
  3. 创建日志存放目录:/var/log/mysql

建议将软件目录和数据目录、日志文件分开,最好存放到不同的磁盘上(三个目录三个磁盘)

sudo mkdir -p /data/mysql
sudo mkdir -p /var/log/mysql
权限设置
sudo chown -R mysql:mysql /data/mysql
sudo chown -R mysql:mysql /var/logs/mysql
解压二进制包
tar -xzf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /opt/module/
ln -s mysql-5.7.28-linux-glibc2.12-x86_64/ mysql
设置环境变量
# vim /etc/profile

# MYSQL_HOME
export MYSQL_HOME=/opt/module/mysql
export PATH=$PATH:$MYSQL_HOME/bin

# source /etc/profile
验证mysql软件部分是否安装成功
[ray@hadoop202 ~]$ mysql -V
mysql  Ver 14.14 Distrib 5.7.28, for linux-glibc2.12 (x86_64) using  EditLine wrapper
初始化系统库表
# 需要以root身份执行
sudo su - root
mysqld --initialize-insecure  --user=mysql --basedir=/opt/module/mysql --datadir=/data/mysql

basedir:mysql软件安装目录
dtadir:mysql数据文件存放目录

安装报错
[ray@hadoop202 ~]$ mysqld --initialize-insecure  --user=mysql --basedir=/opt/module/mysql --datadir=/data/mysql
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
缺少libaio-devel和libnuma.so.1库文件

安装缺少的库文件

sudo yum -y install libaio-devel
sudo yum -y install numactl

扩展:
初始化方式:

  1. –initialize-insecure:生产环境上推荐此种用法(比较简单),会给一个空密码
  2. –initialize:这种方式比较麻烦
  3. 以普通的方式初始化,在初始化完成后,会给root用户分配一个临时密码,在使用mysql之前必须重置这个密码(第一次登录之前)
  4. 密码管理使用严格模式:有3种密码复杂度在这里插入图片描述
    在这里插入图片描述
    mysql5.6版本的初始化方式与mysql5.7有所不同:它使用的是某个脚本文件
配置文件的设置
# vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/opt/module/mysql
datadir=/data/mysql
server_id=6
port=3306
socket=/tmp/mysql.sock

[mysql]
socket=/tmp/mysql.sock

mysql开机自启动

准备mysql启动脚本
# 将mysql的启动脚本拷贝至系统软件管理目录中
[root@hadoop202 support-files]# cp mysql.server /etc/init.d/mysqld
修改mysqld文件
# vim /etc/init.d/mysqld
basedir=/opt/module/mysql
datadir=/data/mysql
指定配置文件
# mysql默认会使用my.cnf作为启动配置文件
ln -s /opt/module/mysql/conf/my.cnf /etc/my.cnf
设置开启启动项
# 添加服务
sudo chkconfig --add mysqld

# 设置开启启动
sudo chkconfig mysqld on
启动mysql
sudo service mysqld start

开启mysql binlog

检查binlog功能是否有开启
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | OFF    |
+---------------+-------+
1 row in set (0.00 sec)

如果显示状态为OFF表示该功能未开启,开启binlog功能

配置binlog
# vim /opt/module/mysql/conf/my.cnf
[mysqld]
user=mysql
basedir=/opt/module/mysql
datadir=/data/mysql
port=3306
socket=/tmp/mysql.sock

# 错误日志
log_error=/var/log/mysql/error.log

# 查询日志,对所有执行语句进行记录
general_log=on
general_log_file=/var/log/mysql/mysql.log

# 二进制日志
server_id=1918  #mysql实例id,不能和canal的slaveId重复
log_bin=/data/mysql/binlog/mysql-bin  #binlog文件名
binlog_format=ROW  #选择row模式

[mysql]
socket=/tmp/mysql.sock
重启mysql服务器

更改之后需要重启mysql,配置才能生效

sudo service mysqld restart
验证binlog是否开启
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON|
+---------------+-------+

权限设置

-- 授权ray用户为一个管理员账户
grant all on *.* to ray@'192.168.48.%' identified by '123456' with grant option;
-- 授权ray用户可以在任意主机上登录mysql服务器
grant all on *.* to ray@'%' identified by '123456' with grant option;

flush privileges;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值