CentOS安装MySql遇到的问题

一:ERROR 1045 (28000)

问题:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
或
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

原因

1:数据库中存在空用户所致
2:数据库密码错误

解决:

service mysqld stop      //停用mysql服务
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &            //mysql安全启动脚本
mysql -u root mysql        //登入数据库
mysql> use mysql        //显示库中的数据表

mysql> select user,host,password from user;        //查询用户(mysql5.6)    
mysql> select user,host,authentication_string from user;//查询用户(mysql5.7)

//问题1就删除空那个用户
mysql> delete from user where user= '';            //删除用户
//问题2就修改用户密码
mysql> update user set password=password("123456") where user="root";            //修改用户密码(mysql5.6)
mysql> update mysql.user set authentication_string=password('root') where user='root' ;    //修改用户密码(mysql5.7)
mysql>flush privileges;    //刷新权限相关表

mysql>exit;                //退出

登录mysql:

mysql -u root -p

一:MySQL library not found

问题

checking for mysql_config... no
configure: error: MySQL library not found

原因

找不到mysql_config文件

解决:

yum install mysql-devel  

二:Not found NET-SNMP library

问题

checking for net-snmp-config... no
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config

原因

找不到net-snmp-config文件

解决:

yum install net-snmp-devel  

三:Not found curl Library

问题

原因

找不到curl-config文件

解决:

yum install curl-devel

四:Unable to use libevent

问题

checking for libevent support... no
configure: error: Unable to use libevent (libevent check failed)

原因

找不到libevent support

解决:

yum -y install libevent-devel

五:about always-populate-raw-post-data must be set -1

问题

about always-populate-raw-post-data must be set -1

原因

current = -1

解决:

添加 :
$current = -1;

如下:

public function checkPhpAlwaysPopulateRawPostData() {                 
    $current = ini_get('always_populate_raw_post_data');   

    $current = -1;  //添加

    return [
    'name' => _('PHP always_populate_raw_post_data'), 
    'current' => ($current != -1) ? _('on') : _('off'),                         
    'required' => _('off'),                         
    'result' => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,                         
    'error' => _('PHP always_populate_raw_post_data must be set to -1.')                 
    ];         
}

六:Error connecting to database

问题

Error connecting to database: No such file or directory

原因

没有对应的文件夹

解决:

1、ln -s /var/lib/mysql/mysql.sock /tmp/

2、vi /usr/local/php-5.6.10/etc/php.ini

mysqli.default_socket = /var/lib/mysql/mysql.sock  //修改配置

3、/etc/init.d/php-fpm restart

七:MySQL: 1006 - Can’t create database error

问题

MySQL: 1006 - Can't create database '***' (errno: 28)

原因

一般是mysql用户没有目录权限的问题。

解决

找到mysql的文件名录,我的是/usr/lib/mysql
find -name *.frm   #会查询出来所有的mysql数据库的表文件

例如:
/var/lib/mysql/jszs/W_ROLE.frm
/var/lib/mysql/jszs/W_USER_ROLE.frm
/var/lib/mysql/jszs/W_User_organization.frm
/var/lib/mysql/jszs/W_User.frm
/var/lib/mysql/jszs/W_User_Party.frm
/var/lib/mysql/jszs/W_Permission.frm
/var/lib/mysql/jszs/W_Role_permission.frm
/var/lib/mysql/jszs/dictionary.frm
/var/lib/mysql/jszs/W_organization.frm

/var/lib/mysql     #这个就是mysql的储存文件目录

#查询是否有文件目录的权限
ls -ld /usr/lib/mysql

如果显示:
drwxr-xr-x 6 root root 4096 Dec 11 08:57 /usr/lib/mysql
则说明mysql用户没有操作权限,需要用chown指令授权:
chown -R mysql:mysql  /usr/lib/mysql

然后记得重启服务器!

问题

MySQL: 1006 - Can't create database '***' (errno: 13)

原因

服务器磁盘空间满了

解决

查看磁盘控件
df -h
删除一些不用的文件
rm -rf 你要删除的文件

微信公众号,欢迎扫码关注