1、Can't connect to local MySQL server through socket '/usr/local/bin/mysql/mysql.sock' (2)
这个错误就是没启动mysql,先启动一下service mysql start
2、Starting MySQL.The server quit without updating PID file (/[FAILED]l/bin/mysql/data/iZ25c2jndiiZ.pid)
可能的原因如下
①权限问题
sudo chown -RL root:mysql /usr/local/bin/mysql
sudo chown -RL mysql:mysql /usr/local/bin/mysql/data
chmod -R 755 /usr/local/bin/mysql/data
②去掉/etc/my.cnf中[mysqld]下面的其他的设置,包括Innodb,只留下datadir的设置和skip-grant-tables(如果需要无密码登录的话),然后重启mysql就ok了,这种方式破坏了innodb的使用,不是很好。
(参考https://icesquare.com/wordpress/mysql-starting-mysql-error-the-server-quit-without-updating-pid-file/,不过该参考都没解决问题,但值得一看)
③另一个解决方案:/etc/my.cnf,配置错误日志(我的问题在配置这个参数后就自动好了),查看并分析日志中报的错误。
[mysqld_safe]
log-error = /usr/local/bin/mysql/logs/error.log
(别忘了给logs权限)
④还有可能是内存不够了,如果机器内存不大,要注意innodb_buffer_pool_size改小一点(默认128M)。
http://732233048.blog.51cto.com/9323668/1636409
3、Access denied for user 'root'@'localhost' (using password: NO)
多次遇到,原意是说权限错误,但是这是在本机啊localhost,这都错!我的办法每次都是改密码。
既然进不去,那么就要跳过授权认证直接进入mysql:
vi /etc/my.conf
在[mysqld]下添加skip-grant-tables
然后采用无密码方式进入:
mysql -u root
修改root密码:
update mysql.user set password=PASSWORD('这里填入密码') where user='root';
flush privileges;
退出mysql,重启service mysql restart。
修改my.conf,去掉skip-grant-tables。
使用密码登录:
mysql -u root -p,大功告成。
4、添加新用户
mysql>CREATE USER 'username'@'%' IDENTIFIED BY 'password';
%是指任何主机都可连接数据库并登录。
5、新用户授权
只有授权后才能访问具体的数据库:
mysql>grant all privileges on *.* to 'username'@'%';
简单暴力,直接给予所有权限。
最后flush privileges,刷新权限表。
6、授权时没有权限:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
原因是root用户的权限被关闭了,导致关闭的原因目前还不清楚,解决办法是:
到user表中更改权限值:N->Y
mysql>select host,user,grant_priv from user;
可以看到root的localhost权限值为N,将其改为Y即可:
mysql>update user set grant_priv="Y" where user="root";
mysql>flush privileges;
然后退出mysql再重新登录mysql,然后就可以root下使用grants进行授权了。
7、查看库中信息
- 查看所有数据库mysql>show database;
- 切换到数据库mysql>use '数据库名';
- 查看切换后数据库下的所有表mysql>show tables;
- 查看具体表(user为例)中的指定信息mysql>select host,user,password from user;
- 查看所有授权信息mysql>show grants;
- 查看指定用户的授权信息mysql>show grants for 'username'@'%';
其他细节参考链接:
http://blog.csdn.net/andy_yf/article/details/7487519
http://www.cnblogs.com/wanghetao/p/3806888.html