背景:
我在全新的 Centos 6.4 最低版本上安装了 Percona Server。在此之前,我从未安装过 MySQL(虽然我不确定 Centos 6.4 最低版本是否附带 MySQL?)
无论如何,以下是我使用的命令:
rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
yum install Percona-Server-client-55 Percona-Server-server-55
一切似乎都安装正确。但是,我很困惑...
1) 为什么它不像 MySQL 那样提示我创建 root 密码?那么我该如何设置 root 密码?
2)当我尝试使用命令“/etc/init.d/mysql start”启动 Percona MySQL 时,它给出了错误:
启动 MySQL(Percona 服务器)。错误!服务器退出且未更新 PID 文件(/var/lib/mysql/mail.example.com.pid)
当然,这里我使用example.com代替我的真实域名。
另一件事:“pid”文件不存在。它应该在那里吗?
任何帮助将不胜感激。
谢谢!
编辑:
根据我得到的建议,我执行了“ls -l /var/lib”,这是“/var/lib/mysql”的文件夹权限
drwxr-xr-x. 4 mysql mysql 4096 Apr 26 07:01 mysql
不确定这是否是正确的权限?
答案1
mysql_install_db
chown -R mysql:mysql /yourdatadir
service mysql start
这应该可以帮你完成这项工作。
答案2
那么我该如何设置 root 密码呢?
MySQL 安装像这样的情况并不少见 - 一旦启动了服务器,以 root 身份启动 mysql,然后更改密码:
[root@yourbox ~]# mysql
....
mysql> UPDATE mysql.user
SET Password=PASSWORD('cleartext password')
WHERE User='root';
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> FLUSH PRIVILEGES;
至于修复错误(您需要在更改密码之前执行此操作) - 这通常是由权限问题引起的。检查目录 /var/lib/mysql/ 是否存在且可由 dbms uid 写入,以及 DBMS uid 是否可以写入数据文件/目录。如果仍然有问题,请检查 mysql 日志并查看 /var/lib/mysql/ 目录中是否有扩展名为 .err 的文件。
答案3
确保运行 mysql 的用户(通常mysql
)有权读取/写入/创建配置文件中引用的所有目录中的文件。
例如,如果您将日志文件的位置更改为/var/log/mysql
,那么该目录应该归用户所有mysql
。