搭建 MySQL 实例遇到问题汇总
文章目录
背景
在测试机器上搭建 MySQL 实例, 发现存在两个问题:
- 权限问题, 没法创建数据库
- 远程 IP 无法访问 MySQL
在网上找到相应解决方案
问题解决
无法创建数据库
原因: 非 root 权限安装 MySQL, mysql 的服务是 mysql.server, 用 root 用户建立数据库
解决:
1 2 3 4 5 6 7 8 9 10
# /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit # /etc/init.d/mysql restart # mysql -uroot -p Enter password: <输入新设的密码newpassword> # 然后新建 DB
远程 IP 无法访问 MySQL
原因: 可能账号不允许被远程登录, 只能通过本机登录
现象:
SQLSTATE[28000][1045] Access denied for user 'root'@'localhost'(use Password Yes)
解决: 在 MySQL 控制台输入以下命令, 允许 MySQL 可以被其他机器登录(白名单配置)
1 2
CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';