一.Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) "; 解决方法:建立软连接 在编译安装mysql时,假设指定的mysql.sock路径为:/data/mysql/mysql.sock 那么建立的软连接命令为:ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock二.Access denied for user 'root'@'localhost' (using password:YES) 解决步骤: 1.打开my.cnf文件(若没使用自定义的my.cnf,那么这个文件在/etc/my.cnf),在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。 2.重启MySQL服务。 注:重启服务用service mysql restart有效,而使用systemctl restart mysql无效 - 原因: centos7对mysql的兼容问题,具体参考:CentOS7安装mysql后无法启动服务,提示Unit not found - 解决方法: vi /etc/systemd/system/mysqld.service 写入:
[Unit] Description=MySQL Server After=network.target [Service] ExecStart=/usr/bin/mysqld(需要改) --defaults-file=/etc/mysql/my.cnf(需要改) --datadir=/var/lib/mysql(需要改) --socket=/var/run/mysqld/mysqld.sock User=mysql(需要改) Group=mysql WorkingDirectory=/usr(需要改,改为mysql的安装目录) [Install] WantedBy=multi-user.target然后运行 systemctl daemon-reload 使用重启命令: systemctl start mysql.service 3.通过命令行进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),提示输入密码不用管,直接Enter回车即可进入数据库。 4.执行“use mysql;”,使用mysql数据库。 5.执行“update user set password=PASSWORD("123456") where user='root';”(修改root的密码) 注1:执行命令直接复制,格式不要变 注2:执行select Host, user from user where user='root'; update user set Host = '%' where user='root' and Host='localhost'; flush privileges; quit; 6.打开my.cnf文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。 7.重启MySQL服务命令:systemctl restart mysql 8.在命令行中输入“mysql -u root -p 123456”,即可成功连接数据库。 完成以上步骤,外部工具也可成功连接MySQL。三.1130-host ... is not allowed to connect to this MySql server 解决方法:参考 https://blog.csdn.net/dabao87/article/details/80571877
