一、安装及启动MySQL
1、安装MySQL
服务器端:
yum install mysql-server
yum install mysql-devel
安装客户端:
yum install mysql
2、启动/关闭/重启服务
service mysqld start
service mysqld stop
service mysqld restart
3、初始化配置
/usr/bin/mysql_secure_installation
4、设置允许远程连接
mysql: mysql -uroot -ptest123
update user set host='%' where user='root';
若是进入mysql报这个错:Access denied for user (using password: YES)
则如下解决:
(1)、关闭mysql
service mysqld stop
(2)、屏蔽权限
mysqld_safe --skip-grant-table
(3)、另起一个终端执行如下:
[root@zhoujietest ~]#mysql -u root
mysql>delete from user where user='';
mysql>flush privileges; #这个一定要执行,否则关闭之前的终端错误会重现
二、日志相关命令:
1、查看日志是否开启
show variables like ‘log_bin’;
日志文件在mysql的安装目录的data目录下
2、查看当前日志状态
Show master status;
3、查看二进制日志
shell>mysqlbinlog mail-bin.000001 | tail
4、日志相关配置
以下配置都是在/etc/my.cnf文件中的[mysqld]下进行:
(1)错误日志log-error开启方式:
log-error=log-error.txt
(2)查询日志
log=mysql-log.txt
(3)二进制日志
log-bin=mysql-bin #记录内容:主要是记录所有的更改数据的语句,可使用mysqlbinlog命令恢复数据。
(4)慢SQL配置:
slow_query_log=1
slow-query-log-file=/www/server/data/mysql-slow.log
long_query_time=3
#log_queries_not_using_indexes=on
(5)配置需要记录日志的库(不配置的话全部记录)
binlog-do-db=dbname
(6)忽略库
binlog-ignore-db
(7)复制模式
binlog_format=MIXED #混合模式复制,其他两种模式请百度
5、开启日志
SET GLOBAL general_log = 'On';
三、备份相关命令
1、锁库
flush tables with read lock;
2、备份导出
mysqldump -h 192.168.1.100 -p 3306 -uroot -ppassword --databases cmdb > /data/backup/cmdb.sql
3、解锁
unlock tables;
4、查看innoDB状态
show engine innodb status;
5、恢复
mysql < back.sql
四、开启主从同步
1、配置主库
(1)授权给从数据库服务器
mysql>GRANT REPLICATION SLAVE ON *.* to 'slave1'@'192.168.8.11' identified by 'slave1password';
mysql>FLUSH PRIVILEGES;
(2)修改主库配置文件,开启binlog,并设置server-id
(3)查看主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复
2、配置从库
在/etc/my.cnf 添加下面配置:
[mysqld]
server-id=2
master-host=192.168.8.10
master-user=slave1
master-password=slave1password
master-port=3306
replicate-do-db=pan
在5.5之后,没有相关命令了,需要在mysql中执行相关操作,如下:
mysql> CHANGE MASTER TO MASTER_HOST='192.168.8.10',
MASTER_PORT=3306,
MASTER_USER='slave1',
MASTER_PASSWORD='slave1pasword',
MASTER_LOG_FILE='binlog.000001',
MASTER_LOG_POS=1304; #后面两个参数的值与主库保持一致
3、启动slave进程
slave start或者start slave
查看slave进程状态:
show slave status\G;
4、同步主库已有数据到从库
主库操作:
(1)、停止主库的数据更新操作
mysql>flush tables with read lock;
(2)、新开终端,生成主数据库的备份(导出数据库)
[root@zhoujietest ~]# mysqldump -uroot -ptest123 cmdb > cmdb.sql
(3)、将备份文件传到从库
[root@zhoujietest ~]# scp cmdb.sql [email protected]:/root/
(4)、主库解锁
mysql>unlock tables;
从库操作:
(1)、停止从库slave
mysql>slave stop;
(2)、新建数据库cmdb
mysql> create database cmdb default charset utf8;
(3)、导入数据
[root@ops-dev ~]# mysql -uroot -ptest123 cmdb<cmdb.sql
(4)、查看从库已有该数据库和数据
Mysql>show databases;