`MySQL`标签下的文章

学习笔记

mysql中几种Log和打开方法

Mysql中常见的log有:错误日志log_error慢查询日志slow_query_log二进制日志bin_log通用查询日志general_log

错误日志(error_log)

这个日志记载mysql服务器的启动和关闭以及运行过程中发生的故障或异常情况,如果你发现mysql无法正常启动,那么你首先应该查看这个日志。

配置:

1
log_error = error.log

服务器上查询log位置:show variables like 'log_error'

慢查询日志(slow_query_log)

为了改善数据库性能,需要减少慢查询SQL的使用次数,那么哪些SQL需要改善呢?通过这个日志可以更清楚如何去改善。

配置:

1
2
3
slow_query_log = 1
lone_query_time = 10
slow_query_log_file = slow_query.log

二进制查询日志(bin_log)

Mysql的binlog日志作用是用来记录mysql内部增删改查等对mysql数据库有更新的内容的记录(对数据库的改动),对数据库的查询select或show等不会被binlog日志记录;主要用于数据库的主从复制以及增量恢复。

配置:

1
log_bin = mysql_bin.log

通用查询日志(general_log)

会记录mysql运行期间的所有sql语句

配置:

1
2
3
log_output=[none|file|table|file,table]  #通用查询日志输出格式
general_log=[on|off] #是否启用通用查询日志
general_log_file[=filename] #通用查询日志位置及名字

阅读剩下更多

默认配图
学习笔记

skip-name-resolve可以解决远程连接mysql数据库时候的缓慢或超时

  咳咳,迁了新的机器,全新的机器但是环境还是跟以前一样,基本没变过什么配置。但是远程连接mysql却很慢,甚至10s超时都还没连上!!! 当然,仅仅只是建立连接的时候,连接成功后一切操作都行如流水。

  所以最快最简单的方法就是直接在数据库的配置文件my.cnf|my.ini中添加一行skip-name-resolve来解决。

  其实mysql在用户登录建立连接的时候,会对客户端进行DNS反查,如果遇到服务器的DNS解析出现问题,那么就可能导致客户端迟迟连接不上。此方法可禁止mysql进行DNS反查从而解决了这个问题。

阅读剩下更多

默认配图
学习笔记

完全源码编译LNMP环境

环境:

软件:

依赖软件:

阅读剩下更多

默认配图
Linux

nginx+php-fpm环境下的mysqld痛不欲生

问题背景

今天突然发现自己的服务器又出现了Mysql服务器的崩溃,重启一下便恢复了。
但是!下午2点的时候重启的,晚上回来一看,数据库又挂了!!!十分恼火啊!再重启一下,什么?直接启动不了啦!
发生报错:

[root@iZ28l1ca1vhZ ~]# service mysqld start
Starting MySQL.The server quit without updating PID file (/usr/local/mysql/data/iZ28l1ca1vhZ.pid).                                         [FAILED]
[root@iZ28l1ca1vhZ ~]# service mysqld restart

排查过程

查看mysqld的日志:

阅读剩下更多

默认配图
学习笔记

有关MacBook从10.9.5升级到10.11(EI capitan)后的问题及解决方法

看到别人的MAC在用最新的EI Capitan系统之后,我终于打破了自己坚持使用旧系统的原则,本着更好的体验和更高的性能,我将自己的本子也更新到最新,既然是更新升级上来的,不免有些小问题会出现,下面就逐个来说说我遇到的问题吧。

问题一:Apache无法正常启动?

首先遇到这个问题时,当然是去找日志了,因为在终端输入启动命令:sudo apachectl start之后,没有任何报错和提示,只是本地浏览器访问localhost or 127.0.0.1失败。但是,这个错误日志真的不好找,最后我干脆去配置文件etc/apache2/httpd.conf中寻找。

嗯!找到了! ErrorLog “/private/var/log/apache2/error_log” 好的,我去看看到底是什么原因。可是,“/private/var/log/apache2/” 目录根本没有任何文件!想着自己给它创建这个错误日志文件吧,创建好了之后使用命令启动apache,结果文件里面没有任何内容!

这也不行,看来通过错误日志是行不通了,于是乎,在网上查找各种资料,终于看到有个人在网页上写到:现在尝试启动一下Apache: sudo apachectl -k start。看到这个,带着好奇我也输入了一遍,好奇心真的不会害死猫!终于出现了报错了!第一次这么开心地看见报错信息,于是乎根据提示找到错误点并屏蔽掉了这个错误的配置。

阅读剩下更多

默认配图
Linux

linux下mysql的root密码忘记解决方法

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:

vi /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。
3.重新启动mysqld

/etc/init.d/mysqld restart

Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码

/usr/bin/mysql

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
5.将MySQL的登录设置修改回来

vi /etc/my.cnf

将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
6.重新启动mysqld

/etc/init.d/mysqld restart

Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
文章转自:http://www.cnblogs.com/allenblogs/archive/2010/08/12/1798247.html

阅读剩下更多

默认配图
Linux

linux下使用yum安装Apache+php+Mysql+phpMyAdmin [转载]

适用redhat于32位及64位,前提架设好本地源。在这里不再赘述。

1 安装Apache+php+Mysql

a、安装Apahce, PHP, Mysql, 以及php连接mysql库组件 yum -y install httpd php mysql mysql-server php-mysql

b、安装mysql扩展 yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql

或一次性粘贴安装:

yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql

c、设置mysql数据库root帐号密码。
mysqladmin -u root password ‘newpassword’ [引号内填密码]

d、 让mysql数据库更安全
mysql -u root -p [此时会要求你输入刚刚设置的密码,输入后回车即可

mysql> DROP DATABASE test; [删除test数据库]
mysql> DELETE FROM mysql.user WHERE user = ”; [删除匿名帐户]
mysql> FLUSH PRIVILEGES; [重载权限]

e、 按照以上的安装方式, 配置出来的默认站点目录为/var/www/html/新建一个php脚本:

2、安装phpMyAdmin
进入phpMyAdmin官方下载(不要最新版本,下phpMyAdmin 2.11.9.5就行了,3.1以上需php 5.2以上),上传到你的网站目录下,然后进行配置。只需几步即可搞定。
I. config.sample.inc.php更名为config.inc.php;
II. 打开config.inc.php文件,进行以下修改;
// $cfg[‘Servers’][$i][‘controluser’] = ‘pma’;
// $cfg[‘Servers’][$i][‘controlpass’] = ‘pmapass’;
// $cfg[‘Servers’][$i][‘pmadb’] = ‘phpmyadmin’;
// $cfg[‘Servers’][$i][‘bookmarktable’] = ‘pma_bookmark’;
// $cfg[‘Servers’][$i][‘relation’] = ‘pma_relation’;
// $cfg[‘Servers’][$i][‘table_info’] = ‘pma_table_info’;
// $cfg[‘Servers’][$i][‘table_coords’] = ‘pma_table_coords’;
// $cfg[‘Servers’][$i][‘pdf_pages’] = ‘pma_pdf_pages’;
// $cfg[‘Servers’][$i][‘column_info’] = ‘pma_column_info’;
// $cfg[‘Servers’][$i][‘history’] = ‘pma_history’;
// $cfg[‘Servers’][$i][‘designer_coords’] = ‘pma_designer_coords’;

去掉每行前面的//;
II.$cfg[‘blowfish_secret’] = ”; |修改为| $cfg[‘blowfish_secret’] = ‘http’;
IV.$cfg[‘Servers’][$i][‘controluser’] = ‘pma’; |把’pma’修改为你的帐号|$cfg[‘Servers’][$i][‘controlpass’] = ‘pmapass’; |把’pmapass设置为你的mysql登录密码|
V. $cfg[‘blowfish_secret’] = ”; | 添加短语密码例如:$cfg[‘blowfish_secret’] = ‘onohot’;

3、//安装php的扩展
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc

4、//安装apache扩展

yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql

5、 配置防火墙
添加允许访问HTTP、FTP端口

iptables -I RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPTiptables -I RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
重启iptables: service iptables restart
转载于:linux下使用yum安装Apache+php+Mysql+phpMyAdmin - - ITeye技术网站.

阅读剩下更多

默认配图
学习笔记

MySQL新建用户,授权,删除用户,修改密码 - 转载

首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。

注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。
用户:phplamp 用户数据库:phplampDB

1.新建用户。

//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
//刷新系统权限表
mysql>flush privileges;

这样就创建了一个名为:phplamp 密码为:1234 的用户。

然后登录一下。

mysql>exit;
@>mysql -u phplamp -p
@>输入密码

mysql>登录成功

2.为用户授权。


//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作

/*
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges;
*/

3.删除用户。

@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;

4.修改指定用户密码。

@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges; 

转自:MySQL新建用户,授权,删除用户,修改密码 - analyzer - 博客园.

阅读剩下更多

默认配图
Linux

linux下允许外网对mysql的访问

从阿里云镜像市场安装的ubuntu(Apache+Mysql+VsFtp)里面Mysql默认是外网无法访问的,而在实际开发过程中需要对数据库的可视化比对操作,这样我们可以通过本地计算机来事实查改服务器的数据库。


1、修改表,登录mysql数据库,切换到mysql数据库,使用sql语句查看
"select host,user from user ;"
\mysql -u root -p
\mysql>use mysql; 
\mysql>update user set host = '%' where user ='root'; 
\mysql>select host, user from user; 
\mysql>flush privileges;  (使修改生效,必须执行)

2、授权用户,你想root使用密码从任何主机连接到mysql服务器
\mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin1234' WITH GRANT OPTION;
\mysql>flush privileges;  (使修改生效,必须执行)

阅读剩下更多

默认配图
返回顶部