centos7下安装mysql5.6_CentOS7安装后MySQL5.6如何配置MySQL5.6呢?
#####该文章是接着上篇安装的文章的,注意点如下:
建了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呢?相关推荐
- CentOS7下源码编译安装MySQL5.6.4
CentOS7下源码编译安装MySQL5.6.4 写这篇博客的主要原因是:请看上一篇博客:CentOS7下更改MySQL5.6.4默认的数据存储位置.对,当初通过rpm安装的mysql5.6.4,一切 ...
- Centos7下使用rpm包安装mysql5.6数据库
Centos7下使用rpm包安装mysql5.6数据库 环境 [root@mysql01 ~]# uname -r 3.10.0-514.el7.x86_64 [root@mysql01 ~]# ca ...
- CentOS7下使用yum快速安装配置oracle数据库
2019独角兽企业重金招聘Python工程师标准>>> CentOS7下使用yum快速安装配置oracle数据库 2017年10月10日 15:29:23 aladdin_sun 阅 ...
- Centos7下Confluence5.6.6安装
一.Confluence简介 Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki.使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息.文档协作.集体讨论 ...
- centos7下没有iptables进行安装或更新
从centos7开始使用linux,之前版本的没有深入了解过,今天要开放个端口,需要有防火墙的相关操作,从网上查资料都是编辑/etc/sysconfig目录下面的iptables文件,可我进入这个文件 ...
- centos7 访问php页面显示源码_运维干货分享:centos7下源码编译安装php-7.1.5(脚本)...
PHP简介: PHP是一种创建动态交互性站点的强有力的服务器端脚本语言.PHP是目前动态网页开发中使用最为广泛的语言之一.PHP能运行在包括Windows.Linux等在内的绝大多数操作系统环境中. ...
- 7.1 pdo 宝塔面板php_运维干货分享:centos7下源码编译安装php-7.1.5(脚本)
PHP简介: PHP是一种创建动态交互性站点的强有力的服务器端脚本语言.PHP是目前动态网页开发中使用最为广泛的语言之一.PHP能运行在包括Windows.Linux等在内的绝大多数操作系统环境中. ...
- 奥塔在线:Centos7下vsftp服务的安装及部署
1.vsftp是什么? 百度百科上是这样说明的:vsftp是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP . 维基百科是这样介绍它的 VSFTP ...
- Centos7下关于memcached的安装和简单使用
前言:memcached的介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱 ...
最新文章
- js 异步for each
- 神策数据 App 可视化全埋点 2.0 重磅升级!抢先体验
- 简单讨论火车票系统后面的架构设计
- 使用Puppeteer进行数据抓取(一)——安装和使用
- 【法克鱿】域名DNS设置修改失败!
- ES6/07/Array的扩展方法,...扩展运算符,Array.from(),(arr.find(),arr.findIndex()和arr.includes())模板字符串,Set数据结构
- linux编程基础系统,Linux编程基础
- 计算机课代表总结,计算机班的班主任工作总结.doc
- 找出知晓秘密的所有专家(leetcode 2092)
- 打造现代应用的利器,VMware Tanzu显露王者风范 (1)
- Linux服务器安装的anaconda下载库、包很慢
- 通过Nginx反向代理提供网站内嵌
- IDEA:Lambda expression are not supported at language level ‘5‘
- 中国移动:移动互联网仍是未来发展立足点
- 求复杂多边形面积的算法
- Windows驱动_文件系统微小过滤驱动之三微小过滤驱动的操作
- 【趣图】尽管如此,我还是热爱编程!
- Oracle问题:ora-12514
- thinkjs ajax跨域,解决thinkjs开发jsonp接口返回Unicode时的问题
- python 將‘Sun May 01 21:48:58 2022‘格式的日期转为2022-05-01 21:48:58
热门文章
- 全球首发!惯性导航导论(剑桥大学)第六部分
- 我从AI For Everyone学到的十个重要AI 概念
- Leetcode每日一题:50.powx-n
- Python提示错误 module 'request' has no attribute 'urlretrieve'
- IntelliJ IDEA 创建Java Web项目
- Java自动化测试框架-07 - TestNG之Factory篇 - (详细教程)
- 研华数据采集卡如何采集压力信号转化为数字信号_我所了解的数据-数据分析-数据产品...
- xbox360无线手柄接收器驱动_创新设计的多模手柄,北通宙斯T6精英机械游戏手柄体验点评...
- 若依前后端分离集成Mybatis-Plus
- MySQL单表删除重复列SQL语句