MySQL-gool
MySQL查看安装路径
ps -ef|grep mysql
1,配置linux虚拟机,修改IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0
2,配置完网卡之后,执行清空命令
3,reboot
查看生产环境
上传文件
MySQL5.5编译方式安装过程
参考连接:http://blog.51cto.com/oldboy/1917295
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.34 \
-DMYSQL_DATADIR=/application/mysql-5.6.34/data\
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.34/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8\
-DDEFAULT_COLLATION=utf8_general_ci\
-DWITH_EXTRA_CHARSETS=all\
-DWITH_INNOBASE_STORAGE_ENGINE=1\
-DWITH_FEDERATED_STORAGE_ENGINE=1\
-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1\
-DWITH_ZLIB=bundled\
-DWITH_SSL=bundled\
-DENABLED_LOCAL_INFILE=1\
-DWITH_EMBEDDED_SERVER=1\
-DENABLE_DOWNLOADS=1\
-DWITH_DEBUG=0
Mysql压力测试
MySQL授权
Mysql bin-log日志(二进制)
Bin-log日志:只保存增删改、create的日志
可以使用bin-log恢复数据
设置服务端的字符集
查看日志乱码http://www.linuxidc.com/Linux/2016-01/126978.htm
my.cnf里面修改设置:
transaction_isolation = REPEATABLE-READbinlog_format=MIXED备份和数据恢复
1,首先恢复 备份的 sql文件
2,恢复bin-log
Mysql主从复制
个人写的:
开始搭建主从复制
服务器二台:
分别安装二台Mysql数据库
1:安装命令
yum –y install mysql-server
service mysqld start
2:配置登陆用户的密码
/usr/bin/mysqladmin -u root password 'new-password'
配置用户的密码:new-password,修改这个就可以
Show databases
Use MySQL
Show tables
Select host,user,password from user;
删除其他不安全的用户信息
delete from user where password='';
Windows服务Linux中的MySQL,需要执行
update user set host='192.168.119.1';
刷新flush privileges;
mysql –u root –p –h 192.168.119.1
只有本机Windows可以连接
3:配置允许第三方机器访问本机Mysql
两台MySQL服务器互相连接一下,看看两台服务器是否可以联通!!!
连不通,执行/etc/rc.d/init.d/iptables stop
主数据库服务器:192.168.1.112,MySQL已经安装,并且无应用数据。
从数据库服务器:192.168.1.115,MySQL已经安装,并且无应用数据。
上面操作步骤作废
grant replication slave on *.* to 'gool'@'192.168.10.25'>Mysql配置
1) vim /etc/my.cnf
master和slaver 的 server-id的值不能一样
1) service mysqld restart
分别重新启动master,slaver的二台mysql服务
2) 登陆
3) 输入 SHOW VARIABLES LIKE 'server_id';
4) 来查看server_id是否和你配置的一样。
5) master输入
6) Mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 106 | | |
+------------------+----------+--------------+------------------+
7) 记录下 FILE 及 Position 的值,在后面进行从服务器操作的时候需要用到。
8) 配置从服务器
change master to
master_host='192.168.10.24',
master_user='gool',
master_password='gool',
master_log_file='mysql-bin.000001',
master_log_pos=154;
9) 正确执行后启动Slave同步进程
10)启动slave
mysql> start slave;
11)查看slave状态
mysql> show slave status\G
12)其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。
测试主从复制
1:先确定主,从库上没有任何自定义表
2:主服务器上的操作
在主服务器上创建数据库itcast_db
mysql> create database gool_db;
在主服务器上创建表itcast_tb
mysql> create tables gool_tb(id int(3),name char(9));
在主服务器上的表itcast_tb中插入记录
mysql> insert into gool_tb values(01,'gool1');
3:从服务器上查看是否已经同步?
总结:搭建过程中可能引起失败的原因
1:server_id 配置的一样或是配置的没有更新到Mysql数据中来
2:防火墙拦截了3306端口
3:用户与密码不正确
4:Mysql不允许其它机器访问
MySQL分区
List分区,有“”固定的值不改变“”,适合使用list分区技术
通过desc,查看 查询影响的rows行数
如果不是myisam存储引擎,而是innodb存储引擎,需要进行修改下面内容
Vim /etc/my.conf
MySQL备份
1
mysqldump -u userName -pdabaseName> fileName.sql
fileName.sql最好加上路径名
导出数据库中的某个表的数据
?
1
mysqldump -u userName -pdabaseName tableName > fileName.sql
导出整个数据库中的所有的表结构
在linux命令行下输入:
?
1
mysqldump -u userName -p -d dabaseName> fileName.sql
注意:是加了-d
导出整个数据库中某个表的表结构
在linux命令行下输入:
?
1
mysqldump -u userName -p -d dabaseName tableName > fileName.sql
注意:是加了-d
导入mysql方法1
进入linux命令命令行下:
?
1
2
3
mysql -uroot -p 回车输入密码
source fileName.sql
注意fileName.sql要有路径名,例如:source /home/user/data/fileName.sql
导入mysql方法2
进入linux命令命令行下:
?
1
2
mysql -uroot -p database < fileName.sql
注意fileName.sql要有路径名
Linux下参数的传递
route del $SNS_VIP >/dev/null 2>&1 #route del 删除本地路由
>/dev/null 2>&1 一些消息不想看到的时候,使用>/dev/null 2>&1重定向到/dev/null这个文件夹下
Shell脚本调用vim编辑器
若想在shell脚本中调用vi编辑器,输入的内容由here document来提供,示例如下:
1
2
3
4
5
6
7
#! /bin/bash
vi abc.txt
页:
[1]