ERROR 1044 (42000) Access denied for user ''@'localhost' to database 'mysql'

方法一: 1.关闭mysql service mysqld stop 2.屏蔽权限 mysqld_safe --skip-grant-table 屏幕出现: Starting demo from ….. 3.新开起一个终端输入 mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误 mysql>exit; 方法二: 1.关闭mysql service mysqld stop 2.屏蔽权限 mysqld_safe --skip-grant-table 屏幕出现: Starting demo from ….. 3.新开起一个终端输入 mysql -u root mysql mysql> delete from user where USER=''; mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误 mysql>exit;

December 16, 2017 · 1 min · ZhaoGuibin

mysql更改数据库目录

修改 my.cnf datadir=/www/mysql/data socket=/www/mysql/data/mysql.sock 其实这里不需要复制/var/lib/mysql下的文件到新目录,修改完配置之后,mysql会自动复制/var/lib/mysql下的文件到新目录 关闭SELinux vim /etc/selinux/config #编辑文件 # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. #permissive - SELinux prints warnings instead of enforcing. #disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection....

December 16, 2017 · 1 min · ZhaoGuibin

linux下php扩展mysqli的支持

mysqli是优化后的mysql,具体的优点baidu下就ok了 cd php-5.2.8 在这下面有个ext文件夹里有mysqli cd ext/mysqli linux下将源码文件编译应该都有configure吧,可这里没有,在我们已经安装php后,php5这个文件夹里的命令目录bin里有一个文件叫phpize,用它就可以生成configure文件啦,继续 /usr/local/php5/bin/phpize 这里回车运行,执行完后就出了configure文件, ./configure --prefix=/opt/local/mysqli --with-php-config=/opt/local/php/bin/php-config --with-mysqli=/opt/local/mysql/bin/mysql_config 直接回车,不出问题就继续。。 make make test make install (不出错就会显示Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20041030/) 现在mysqli.so文件就出来啦。。 直接在php.ini里把这个文件加载就OK啦。。 extension_dir=”/usr/local/php5/ext” extension=mysqli.so 把上面第一行找到修改成这个,然后再把第二行加入。。wq保存退出。 把mysqli.so这个文件cp到/usr/local/php5/ext下 重启apache.

December 3, 2017 · 1 min · ZhaoGuibin

在安装mysqli的时候,出现error-ext-mysqlnd-mysql-float-to-double-h-No-such-file-or-directory

直接修改源码,把找不到的那个头文件的路径修改为绝对路径,编译通过了,也能正常使用 pwd /home/neo/tools/php-5.5.28/ext/mysqli vim mysqli_api.c 把第36行的 #include "ext/mysqlnd/mysql_float_to_double.h" 修改为 #include "/home/neo/tools/php-5.5.28/ext/mysqlnd/mysql_float_to_double.h"

December 3, 2017 · 1 min · ZhaoGuibin

迁移数据库:直接复制数据表文件到数据库

把目的数据库里面的 *.err 文件,ib_logfile 文件删除 备注:经测试,源mysql的安装目录及数据文件目录 可以与 目标Mysql的安装目录及数据文件目录 不一致。 此时,只需要拷贝所需移动的dbname及'mysql'和'ibdata1',即可。

December 3, 2017 · 1 min · ZhaoGuibin

windows下用navicat远程链接虚拟机Linux下MySQL数据库

手动增加可以远程访问数据库的用户。 方法一、本地登入mysql,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,将”localhost”改为”%” mysql -u root -proot mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>flush privileges; mysql>select host, user from user; 方法二、直接授权(推荐) 从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器: mysql -u root -proot mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; mysql>flush privileges;

December 3, 2017 · 1 min · ZhaoGuibin

PDO-MYSQL-make-pdo-mysql-lo-Error-1

编译安装PDO_MYSQL拓展模块,总是提示 In file included from /data0/software/PDO_MYSQL-1.0.2/pdo_mysql.c:31: /data0/software/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:25:19: error: mysql.h: No such file or directory In file included from /data0/software/PDO_MYSQL-1.0.2/pdo_mysql.c:31: /data0/software/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:36: error: expected specifier-qualifier-list before ‘MYSQL’ /data0/software/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:48: error: expected specifier-qualifier-list before ‘MYSQL_FIELD’ /data0/software/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:53: error: expected specifier-qualifier-list before ‘MYSQL_RES’ make: *** [pdo_mysql.lo] Error 1 这是因为这是因为在编译时需要 MySQL 的头的文件。而它按默认搜索找不到头文件的位置,所以才出现这个问题。通过软连接把MySQL头文件对应到/usr/local/include/下就好 比如你的MySQL安装文件位于/usr/local/mysql,那么就执行以下命令: ln -s /usr/local/mysql/include/* /usr/local/include/

December 3, 2017 · 1 min · ZhaoGuibin

MySQL-ERROR-Table-mysql-user-doesn-t-exist

1、现象描述 [root@centos65 scripts]# service mysqld start Starting MySQL..The server quit without updating PID file (/var/lib/mysql/HKBO.pid).[FAILED] 查看错误日志 [root@centos65 scripts]# tail /var/log/mysqld.log InnoDB: Apply batch completed 2014-12-08 11:01:37 15721 [Note] InnoDB: 128 rollback segment(s) are active. 2014-12-08 11:01:37 15721 [Note] InnoDB: Waiting for purge to start 2014-12-08 11:01:37 15721 [Note] InnoDB: 5.6.12 started; log sequence number 1600607 2014-12-08 11:01:37 15721 [Note] Server hostname (bind-address): '*'; port: 3306 2014-12-08 11:01:37 15721 [Note] IPv6 is available....

December 3, 2017 · 1 min · ZhaoGuibin

Mysql双主同步

平台:centos7,mysql5.6.34 解决数据库瓶颈问题 两台服务器可以同时读写数据库 A B两台服务器 A和B需要拥有一个同名的数据库 同步账号设置 首先要在两台服务器上各新增加一个可登陆的账号。 A端50 mysql>grant replication slave,file on *.* to 'sync_user'@'192.168.10.58' identified by '123456'; B端58 mysql>grant replication slave,file on *.* to 'sync_user'@'192.168.10.50' identified by '123456'; 修改my.cnf主配置文件 vim /etc/my.cnf 在 [mysqld] 添加 [mysqld] A端 log-bin=mysql-bin #启动二进制日志系统 server-id=1 #本机数据库ID标示为主,另一为2 binlog-do-db=test #二进制需同步的数据库名 binlog-ignore-db=mysql #避免同步用户数据库配置 replicate-do-db=test #同步数据库的名称 replicate-ignore-db=mysql #屏蔽对mysql数据库的同步 log-slave-updates slave-skip-errors=all sync_binlog=1 auto_increment_increment=2 auto_increment_offset=1 #B端配置2 B端 log-bin=mysql-bin #启动二进制日志系统 server-id=2 #本机数据库ID标示为主,另一为1 binlog-do-db=test #二进制需同步的数据库名 binlog-ignore-db=mysql #避免同步用户数据库配置 replicate-do-db=test #同步数据库的名称 replicate-ignore-db=mysql #屏蔽对mysql数据库的同步 log-slave-updates slave-skip-errors=all sync_binlog=1 auto_increment_increment=2 auto_increment_offset=2 #A端配置1 mysql -u root -p mysql>flush tables with read lock; #锁定表格 service mysqld restart mysql>show master status\G #查看主服务器同步状态 A端是这样的...

December 2, 2017 · 1 min · ZhaoGuibin

MySQL使用Symbolic-Links以支持数据分区存储

MySQL数据库及表(仅MyISAM)支持符号链接(symbolic link),即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录。 要支持符号链接,需要在配置中设置symbolic-links=1(较新的版本为默认开启) 假设my.cnf有设置data目录: datadir=/data1/mysql/data/ 而在另一个分区目录下保存有数据数据库TestDB: /data2/mysql/data/TestDB 那么可以这样使得同一个MySQL实例能同时管理TestDB: ln -s /data2/mysql/data/TestDB /data1/mysql/data/ 所有文件相关权限设置正确后,MySQL就可以管理TestDB了。 值得注意的是,TestDB最好只能为一个MySQL服务来操作,否则会出现意想不到的问题。使用symbolic link的一个好处是当一个磁盘或分区空间不够时,可以将数据存储到其他的磁盘或分区。

December 2, 2017 · 1 min · ZhaoGuibin