#####该文章是接着上篇安装的文章的,注意点如下:

建了mysql组及mysql用户

mysql安装位置:usr/local/mysql

建了/data/mysqldata/3306/放我们mysql的信息及mysql.sock

一、创建mysql服务

1、预备工作就绪,切换到root用户先:

su

2、建立我们需要安放MySQL配置文件、脚本、备份等的目录

cd data/

mkdir -p /data/mysqldata/{3306/{data,tmp,binlog},backup,scripts}

3、所属组用户归到mysql

chown -R mysql:mysql mysqldata

4、切换到mysql用户

su - mysql

cd /usr/local/mysql/

二、创建我们的自己的配置文件

1、5.6版本注意:

ll support-files/my*.cnf

我们可以看到:

-rw-r--r--. 1 mysql mysql 1126 Sep 7 14:25 support-files/my-default.cnf

2、为啥安装了mysql5.6没有配置文件呢?为啥呢?因为官方5.6不像之前版本那样玩了,要求我们对着它的默认配置文件自给自足:

touch /data/mysqldata/3306/my.cnf

3、编辑配置文件

vi /data/mysqldata/3306/my.cnf

添加下列参数:

[client]

port=3306

socket=/data/mysqldata/3306/mysql.sock

# The MySQL server

[mysqld]

port=3306

user=mysql

socket=/data/mysqldata/3306/mysql.sock

pid-file=/data/mysqldata/3306/mysql.pid

basedir=/usr/local/mysql

datadir=/data/mysqldata/3306/data

tmpdir=/data/mysqldata/3306/tmp

open_files_limit=10240

explicit_defaults_for_timestamp

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

# Buffer

max_allowed_packet=256M

max_heap_table_size=256M

net_buffer_length=8K

sort_buffer_size=2M

join_buffer_size=4M

read_buffer_size=2M

read_rnd_buffer_size=16M

# Log

log-bin=/data/mysqldata/3306/binlog/mysql-bin

binlog_cache_size=32M

max_binlog_cache_size=512M

max_binlog_size=512M

binlog_format=mixed

log_output=FILE

log-error=../mysql-error.log

slow_query_log=1

slow_query_log_file=../slow_query.log

general_log=0

general_log_file=../general_query.log

expire-logs-days=14

# InnoDB

innodb_data_file_path=ibdata1:2048M:autoextend

innodb_log_file_size=256M

innodb_log_files_in_group=3

innodb_buffer_pool_size=1024M

[mysql]

no-auto-rehash

prompt=(\u@\h) [\d]\_

default-character-set=utf8

然后:wq保存退出

三、如何启动MySQL

1、看很多网上教程都是在mysql安装目录下的scripts/mysql_install_db安装,其实官方不推荐的

2、我们可以尝试启动安装脚本(没事,你可以照做,不怕)

/usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql

你会看到输出的内容并没有直接安装,而是提示你接下来最好怎么做!

3、在2命令的输出内容中如果你遇到LC_ALL = (unset),LANGUAGE = (unset)错误信息,请检查你的配置,在 .bashrc 中:

export LC_ALL="en_US.UTF-8"

保存退出后source一下

source ~/.bashrc

4、官方建议的启动方式:安全启动(小心漏打一个mysqld的d或者defaults的s,还有最后一个&)

/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &

5、mysql成功启动了,我们查看下运行情况

ps -ef | grep bin/mysql | grep -v grep

输出如下信息则表示MySQL启动成功

root 3200 1 0 09:50 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf

mysql 3663 3200 0 09:50 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/data/mysqldata/3306/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysqldata/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=../mysql-error.log --open-files-limit=10240 --pid-file=/data/mysqldata/3306/mysql.pid --socket=/data/mysqldata/3306/mysql.sock --port=3306

四、配置MySQL服务

1、切换到root用户:

/usr/local/mysql/bin/mysql

你会发现不用登录名也不用密码,好爽啊,因为前面我们配置的配置文件的功劳 prompt=(\u@\h) [\d]_

2、在mysql>中,执行如下命令:

select user,host from mysql.user;

3、可以看到很多root用户,我就是不想用root怎么办呢,不爽它,而且出于安全我不想叫root,我换个system怎么样,那么:

delete from mysql.user where(user,host) not in (select 'root','localhost');

#新增我们自己的用户和密码

update mysql.user set user='system',password=password('system');

truncate table mysql.db;

flush privileges;

exit;

退出去以后你可以看到执行mysql已经不能直接进入mysql服务了,需要指定 -u system -p system

4、至此,我们已经完成了所有的mysql安装及配置操作,也可以外部连接了。可是,我想用自定义的脚本来方便管理它怎么办呢?下面有讲,有兴趣的同学可以看看

五、MySQL服务管理配置

1、创建中间定义文件(自定义shell配置文件),目的是提高脚本复用性

vi /data/mysqldata/scripts/mysql_env.ini

编辑它:

# set env

MYSQL_USER=system

MYSQL_PASS='system'

# check parameter

if [ $# -ne 1 ]

then

HOST_PORT=3306

else

HOST_PORT=$1

fi

:wq保存关闭

2、修改该文件权限

chmod 600 /data/mysqldata/scripts/mysql_env.ini

3、创建 mysql_db_startup.sh 脚本,用于启动MySQL服务:

vi /data/mysqldata/scripts/mysql_db_startup.sh

录入shell:

#! /bin/sh

# Created by cxgphper 20180909

source /data/mysqldata/scripts/mysql_env.ini

echo "Startup MySQL Service: localhost_"${HOST_PORT}

/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/${HOST_PORT}/my.cnf &

4、创建 mysql_db_shutdown.sh ,来关闭MySQL服务

vi /data/mysqldata/scripts/mysql_db_shutdown.sh

录入:

#! /bin/sh

# Created by cxgphper 20180909

source /data/mysqldata/scripts/mysql_env.ini

echo "Shutdown MySQL Service: localhost_"${HOST_PORT}

/usr/local/mysql/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PASS} -S /data/mysqldata/${HOST_PORT}/mysql.sock shutdown

5、创建mysqlplus.sh脚本文件用于快速登录:

vi /data/mysqldata/scripts/mysqlplus.sh

录入:

#! /bin/sh

# Created by cxgphper 20180909

source /data/mysqldata/scripts/mysql_env.ini

echo "Login MySQL Service:localhost_"${HOST_PORT}

/usr/local/mysql/bin/mysql -u${MYSQL_USER} -p${MYSQL_PASS} -S /data/mysqldata/${HOST_PORT}/mysql.sock $2

6、授予上面几个脚本执行权限,方便调用

chmod +x /data/mysqldata/scripts/*.sh

7、编辑mysql用户的环境变量,将上面路径加入到PATH中:

echo "export PATH=/data/mysqldata/scripts:\$PATH" >> ~/.bash_profile

source ~/.bash_profile

8、设置开启自启动MySQL

vi /etc/rc.local

增加下列内容到最后一行:

# autostart mysql,added by cxgphper at 20180909

sudo -i -u mysql /data/mysqldata/scripts/mysql_db_startup.sh 3306 > /home/mysql/mysql_db_startup.log 2>&1

提示:

执行sudo命令时可能会遇到下列错误:

sudo:sorry,you must have a tty to run sudo

遇到这种情况,可以通过修改sudo的配置来避免错误发生,比如执行visudo命令,或者更改/etc/sudoers文件,注释掉第56行,如下:

#Defaultsrequiretty

然后:wq退出

9、至此,mysql5.6安装完成!我们还封装了方便管理的mysql开启、关闭、进入的shell脚本。

centos7下安装mysql5.6_CentOS7安装后MySQL5.6如何配置MySQL5.6呢?相关推荐

  1. CentOS7下源码编译安装MySQL5.6.4

    CentOS7下源码编译安装MySQL5.6.4 写这篇博客的主要原因是:请看上一篇博客:CentOS7下更改MySQL5.6.4默认的数据存储位置.对,当初通过rpm安装的mysql5.6.4,一切 ...

  2. Centos7下使用rpm包安装mysql5.6数据库

    Centos7下使用rpm包安装mysql5.6数据库 环境 [root@mysql01 ~]# uname -r 3.10.0-514.el7.x86_64 [root@mysql01 ~]# ca ...

  3. CentOS7下使用yum快速安装配置oracle数据库

    2019独角兽企业重金招聘Python工程师标准>>> CentOS7下使用yum快速安装配置oracle数据库 2017年10月10日 15:29:23 aladdin_sun 阅 ...

  4. Centos7下Confluence5.6.6安装

    一.Confluence简介 Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki.使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息.文档协作.集体讨论 ...

  5. centos7下没有iptables进行安装或更新

    从centos7开始使用linux,之前版本的没有深入了解过,今天要开放个端口,需要有防火墙的相关操作,从网上查资料都是编辑/etc/sysconfig目录下面的iptables文件,可我进入这个文件 ...

  6. centos7 访问php页面显示源码_运维干货分享:centos7下源码编译安装php-7.1.5(脚本)...

    PHP简介: PHP是一种创建动态交互性站点的强有力的服务器端脚本语言.PHP是目前动态网页开发中使用最为广泛的语言之一.PHP能运行在包括Windows.Linux等在内的绝大多数操作系统环境中. ...

  7. 7.1 pdo 宝塔面板php_运维干货分享:centos7下源码编译安装php-7.1.5(脚本)

    PHP简介: PHP是一种创建动态交互性站点的强有力的服务器端脚本语言.PHP是目前动态网页开发中使用最为广泛的语言之一.PHP能运行在包括Windows.Linux等在内的绝大多数操作系统环境中. ...

  8. 奥塔在线:Centos7下vsftp服务的安装及部署

    1.vsftp是什么? 百度百科上是这样说明的:vsftp是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP . 维基百科是这样介绍它的 VSFTP ...

  9. Centos7下关于memcached的安装和简单使用

    前言:memcached的介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱 ...

最新文章

  1. js 异步for each
  2. 神策数据 App 可视化全埋点 2.0 重磅升级!抢先体验
  3. 简单讨论火车票系统后面的架构设计
  4. 使用Puppeteer进行数据抓取(一)——安装和使用
  5. 【法克鱿】域名DNS设置修改失败!
  6. ES6/07/Array的扩展方法,...扩展运算符,Array.from(),(arr.find(),arr.findIndex()和arr.includes())模板字符串,Set数据结构
  7. linux编程基础系统,Linux编程基础
  8. 计算机课代表总结,计算机班的班主任工作总结.doc
  9. 找出知晓秘密的所有专家(leetcode 2092)
  10. 打造现代应用的利器,VMware Tanzu显露王者风范 (1)
  11. Linux服务器安装的anaconda下载库、包很慢
  12. 通过Nginx反向代理提供网站内嵌
  13. IDEA:Lambda expression are not supported at language level ‘5‘
  14. 中国移动:移动互联网仍是未来发展立足点
  15. 求复杂多边形面积的算法
  16. Windows驱动_文件系统微小过滤驱动之三微小过滤驱动的操作
  17. 【趣图】尽管如此,我还是热爱编程!
  18. Oracle问题:ora-12514
  19. thinkjs ajax跨域,解决thinkjs开发jsonp接口返回Unicode时的问题
  20. python 將‘Sun May 01 21:48:58 2022‘格式的日期转为2022-05-01 21:48:58

热门文章

  1. 全球首发!惯性导航导论(剑桥大学)第六部分
  2. 我从AI For Everyone学到的十个重要AI 概念
  3. Leetcode每日一题:50.powx-n
  4. Python提示错误 module 'request' has no attribute 'urlretrieve'
  5. IntelliJ IDEA 创建Java Web项目
  6. Java自动化测试框架-07 - TestNG之Factory篇 - (详细教程)
  7. 研华数据采集卡如何采集压力信号转化为数字信号_我所了解的数据-数据分析-数据产品...
  8. xbox360无线手柄接收器驱动_创新设计的多模手柄,北通宙斯T6精英机械游戏手柄体验点评...
  9. 若依前后端分离集成Mybatis-Plus
  10. MySQL单表删除重复列SQL语句