MySQL安装部署及调优
MySQL安装
二进制安装 - mysql-5.5.49
mkdir /home/oldboy/tools -p
cd /home/oldboy/tools/
rz
#mysql-5.5.49-linux2.6-x86_64.tar.gz
tar -xf mysql-5.5.49-linux2.6-x86_64.tar.gz
mv mysql-5.5.49-linux2.6-x86_64 /application/mysql-5.5.49
useradd -s /sbin/nologin mysql -M
ln -s /application/mysql-5.5.49/ /application/mysql
cd /application/mysql
/bin/cp support-files/my-small.cnf /etc/my.cnf
chown -R mysql.mysql /application/mysql/
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld
/etc/init.d/mysqld start
echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
source /etc/profile
mysqladmin -u root password '123456'
lsof -i:3306
MySQL基本操作
shell界面下命令:
启动:/etc/init.d/mysqld start
停止:/etc/init.d/mysqld stop
重启:/etc/init.d/mysqld restart
登陆:mysql -u账号 -p密码
设置密码:mysqladmin -u root password '新密码'
mysql界面下命令:
清理无用的MySQL用户及库
select user,host from mysql.user
drop user "root@::1";
删除无用数据库
drop database test;
show database test;
查看当前所有的数据库
show databases;
查看当前的登陆用户
select user();
MySQL优化
mysql相关命令加入全局路径的配置
方法一:
echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
source /etc/profile
方法二:
ln -s /application/mysql/bin/* /usr/local/sbin/
多实例
mkdir /data/{3306,3307}/data -p
多实例配置文件模板 : ls -l support-files/my*.cnf
编辑多实例配置文件 : vim /data/3306/my.cnf
vim /data/3307my.cnf
创建启动文件 : vim /data/3306/mysql
vim /data/3307mysql
启动多实例:
mysqld_safe--defaults-file=/data/3306/my.cnf 2>&1 >/dev/null &
mysqld_safe--defaults-file=/data/3307/my.cnf 2>&1 >/dev/null &
停止多实例:
mysqladmin -u root -p密码 -S /data/3306/mysql.sock shutdown
mysqladmin -u root -p密码 -S /data/3307/mysql.sock shutdown
初始化mysql多实例数据库文件
cd /application/mysql/scripts
./mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql
./mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql
启动\登陆\重启多实例多实例数据库
启动
/data/3306/mysql start
/data/3307/mysql start
停止
/data/3306/mysql stop
/data/3307/mysql stop
重启
/data/3306/mysql stop
/data/3307/mysql stop
开机自启动
echo "#mysql multi instance" >>/etc/rc.local
echo "/data/3306/mysql start" >>/etc/rc.local
echo "/data/3307/mysql start" >>/etc/rc.local
登陆多实例数据库
mysql -S /data/3306/mysql.sock
设置/修改多实例数据库密码
mysqladmin -u root -S /data/3306/mysql.sock password '密码'
mysql -uroot -p密码 -S /data/3306/mysql.sock
实例的密码存放在/data/3306/mysql文件中,需修改权限为700,防止密码被其他用户看到
find /data -type f -name "mysql" -exec chmod 700 {} \;
修改实例密码:sed -i '13 s#旧密码#新密码#g' /data/3306/mysql /data/3307/mysql
禁止使用pkill、kill -9、killall -9等命令强制杀死数据库,这会引起数据库无法启动等故障的发生
MySQL主从复制
MySQL的主从复制并不是数据库磁盘上的文件直接拷贝,而是Master上开启binlog记录功能,Slave从Master端获取binlog日志,然后再在Slave上以相同顺序执行获取的binlog日志中所记录的各种SQL记录。
开启binlog
[mysqld]
log-bin = /data/3006/mysql-bin
实战 主从同步 <3306为主,3307为从>
开启Master的binlog功能
vim /data/3306/my.cnf
[mysqld]
server-id = 1
log-bin = /data/3006/mysql-bin
/data/3306/mysql restart
登陆数据库检查参数是否生效
egrep "server-id|log-bin" /data/3306/my.cnf
mysql -uroot -p'密码' -S /data/3306/mysql.sock
show variables like 'server_id';
show variables like 'log_bin';
在主库上建立用于主从复制的账号
mysql -uroot -p'密码' -S /data/3306/mysql.sock
grant replication slave on *.* to 'rep'@'10.0.0.%' identified by '密码';
flush privileges;
检查创建的rep复制账号
select user,host from mysql.user;
select user,host from mysql.user where user='rep';
MySQL权限说明:
实现对主数据库锁表只读
锁表只读,然后mysqldump出数据库,然后再解锁
flush table with read lock;
show variables like '%timeout%';
显示信息记录在案
show master status;
或mysql -u root -p '密码' -S /data/3306/mysql.sock -e "show master status"
锁表后,一定要新开ssh窗口,再导出数据库所有数据
mkdir /server/backup -p
mysqldump -uroot -p密码 -S /data/3306/mysql.sock --events -A -B|gzip >/server/backup/mysql_bak.$(date +%F).sql.gz
从库编辑my.cnf文件,添加server-id(id号不能和主一样),注释掉binlog功能,重启从数据库
将导出的数据库发送到从库上导入(可以用scp、rsyn)
gzip -d mysql_bak.2017-01-01.sql.gz
mysql -uroot -p'密码' -S /data/3307/mysql.sock < mysql_back.2017-01-01.sql
从库连接主库配置信息
mysql -uroot -p'密码' -S /data/3307/mysql.sock << EOF
CHANGE MASTER TO
MASTER_HOST='10.0.0.7'
MASTER_PORT='3306'
MASTER_USER='rep'
MASTER_PASSWORD='密码'
MASTER_LOG_FILE='mysql-bin.000008'
MASTER_LOG_POS=342
启动从库同步开关
mysql -uroot -p密码 -S /data/3307/mysql.sock -e "start slave;"
mysql -uroot -p密码 -S /data/3307/mysql.sock -e "show slave status;"
测试
主库上创建个账号
mysql -uroot -p密码 -S /data/3306/mysql.sock -e "create database testtest;"
从库上查看
mysql -uroot -p密码 -S /data/3307/mysql.sock -e "show databases like 'testtest';"
MySQL安装部署及调优的更多相关文章
- Mysql安装与配置调优
一.安装apt-get install mysql-server 需要设置账号密码 apt-get isntall mysql-client apt-get libmysqlclient-dev2.s ...
- Ubuntu14.04 Django Mysql安装部署全过程
Ubuntu14.04 Django Mysql安装部署全过程 一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...
- mysql监控、性能调优及三范式理解
原文:mysql监控.性能调优及三范式理解 1监控 工具:sp on mysql sp系列可监控各种数据库 2调优 2.1 DB层操作与调优 2.1.1.开启慢查询 在My.cnf文件中添加如 ...
- 【叶问】 MySQL常用的sql调优手段或工具有哪些
MySQL常用的sql调优手段或工具有哪些1.根据执行计划优化 通常使用desc或explain,另外可以添加format=json来输出更详细的json格式的执行计划,主要注意点如下: ...
- MySQL性能诊断与调优 转
http://www.cnblogs.com/preftest/ http://www.highperfmysql.com/ BOOK LAMP 系统性能调优,第 3 部分: MySQL 服务 ...
- MySQL插入数据性能调优
插入数据性能调优总结: 1.SQL插入语句调优 2.如果是InnoDB引擎的话,尝试开启事务,批量提交 3.调整MySQl数据库配置 参考: 百度空间 - MySQL插入数据性能调优 CSDN ...
- MySQL安装部署
MySQL安装部署 使用自动化脚本
- MySQL性能诊断与调优
LAMP 系统性能调优,第 3 部分: MySQL 服务器调优http://www.ibm.com/developerworks/cn/linux/l-tune-lamp-3.html LoadRun ...
- 2-MySQL DBA笔记-MySQL安装部署和入门
第2章 MySQL安装部署和入门 第1章介绍了MySQL的一些基础知识,本章将为读者介绍MySQL的部署.安装及一些常用命令和参数的设置.2.1 如何选择MySQL版本 在选择MySQL的版本时,要根 ...
随机推荐
- Maven错误recv failed
问题: 从SVN上检出了一个Maven项目,在执行clean命令时,出现如下错误: java.net.SocketException:Software caused connection ab ...
- git基础常用维护命令
开发模式介绍 master为生产环境分支 trunk为测试环境分支 开发分支由程序员自己取名 比如来一个新项目之后,下面步骤都是在本地操作 1.从本地获取远程master最新代码,保证本地master ...
- Nginx解决post请求405问题
和工商银行的一个合作项目,对方客户端需要请求我们的一个静态页面,但是客户端发送过来的请求方法用的post,日志显示405错误(请求方法错误),正常一个静态页面直接用get请求就可以了,工行那边说写死了 ...
- CentOS 7 Nginx安装配置
1.添加Nginx源 yum install epel-release 2.安装Nginx yum install nginx 3.启动Nginx systemctl start nginx //配置 ...
- 利用Object.defineProperty实现Vue数据双向绑定
body部分很简单,一个输入框和一个展示的div <div> <p>你好,<input id='nickName'></p> <div id=&q ...
- SQL Server----解决SQL Server 配置管理器不见了
错误重现: 之前安装好的SQL Server 2012打开都没有问题,好多天没有打开了,今天打开我的SQL Server 2012 连接时出现错误: 在与SQL Server 建立连接时出现与网络相关 ...
- PHP会话控制之如何正确设置session_name
定义: string session_name([string $name]) 说明: 在php.ini中配置为:session.name = PHPSESSID 在请求开始的时候,会话名称会被重置并 ...
- 文件load事件:img、iframe
iframe的 load 事件 在所有为IFRAME动态添加onload监听事件的方法中,只有 使用事件监听方式为 IFRAME 的 onload 事件绑定处理函数,IE6.7.8才有效.所以为 IF ...
- matlab C++ (VS Qt)混合编程 / mxArray / QT5中文乱码
一.混合编程环境搭建---依据我的情况,分成了4个部分: 1:破解matlab,因为matlab破解不完全,编译器不能使用,会出错.(参考https://blog.csdn.net/a12593012 ...
- 重新学习MySQL数据库6:浅谈MySQL的中事务与锁
『浅入深出』MySQL 中事务的实现 在关系型数据库中,事务的重要性不言而喻,只要对数据库稍有了解的人都知道事务具有 ACID 四个基本属性,而我们不知道的可能就是数据库是如何实现这四个属性的:在这篇 ...