欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySql 一些错误记录

程序员文章站 2024-01-17 13:30:34
...
一、MySql 启动配置文件 my.cnf
windos 下 my.ini,linux与mac下: my.cnf;这个文件可能在安装时会自动创建,也可能需要你手动创建。
----- linux 系统按以下顺序查找这个 my.cnf 文件
/etc/my.cnf                         Global options
/etc/mysql/my.cnf                 Global options (as of MySQL 5.1.15)
SYSCONFDIR/my.cnf         Global options
$MYSQL_HOME/my.cnf   Server-specific options
defaults-extra-file                 The file specified with--defaults-extra-file=path 
~/my.cnf                                 User-specific options
---- mac系统会在 /etc下查找,所以需要把这个 my.cnf文件拷贝到 /etc下。

二、连接报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
原因:没有找 /tmp/mysql.sock 文件;
添加指向 mysql.sock 的连接文件
>ln -s [my.cnf中指定的生成路径]/mysql.sock  /tmp/mysql.sock
mysql.sock 在安装目录下或你在 my.cnf 中配置的目录
socket = mysql5.6Dir/tmp/mysql.sock 【数据连接文件】
【注意 mysql.sock 文件是在 mysql 启动后才会生成,关闭mysql 时这个文件会删除掉】

三、远程连接报错: ERROR 1130 (HY000): Host '192.168.1.123' is not allowed to connect to this MySQL server
原因:这个是由于 mysql 服务不允许些用户从这个 ip 登录;
解决方法:两个,一赋与权限,二 修改系统表;
1、赋与权限,在mysql服务器上登录mysql后进行如下操作:
mysql> GRANT ALL PRIVILEGES ON [dataBaseName] TO [userName]@'[ip、%、*.*]' IDENTIFIED BY 'UserPassword' WITH GRANT OPTION;
例: 允许用户从任何ip的主机连接到mysql服务器
mysql> GRANT ALL PRIVILEGES ON *.* TO  'admin'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
注:dataBaseName 是指让用户可以使用服务中的哪个实例,如果为所有实例请用 *.*;
2、修改系统表;
在mysql服务器上登录mysql后进行如下操作:
mysql> use mysql;
mysql> update user set host='ip[当ip为%表示允许此用户从任何ip登录]' where user='root' and host='localhost';
mysql> flush privileges;
你可以向表 user 中插入一条你自己指定权限的数据,host: ip[当ip为%表示允许此用户从任何ip登录 user 字段为你要赋权的用户名,其他权限字段请参考 mysql 权限说明;
然后执行:
mysql> flush privileges;
这样权限就生效了,
flush privileges 是使权限生效的指令,因为修改了系统表后,权限没有立即生效,要执行这个语句才能让权限生效。

四、密码过期处理,用dos窗口登录,执行
mysql>set password=PASSWORD('password');

五、获取初始密码:
>grep 'temporary password' /var/log/mysqld.log

六、启动
[ERROR] [MY-010262] Can't start server: Bind on TCP/IP port: Address already in use
端口被占用

七、首次登录
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
首次登录需要重置密码