为了安装我做了:
yum --enablerepo=remi,remi-test install mysql mysql-server
最后三行的结果:
Installed:
mysql-server.x86_64 0:5.0.95-5.el5_9
Complete!
然后我做了以下事情:
[root@resdb-1 mysql]# /etc/init.d/mysqld start
Starting mysqld: [ OK ]
然后我执行以下操作:
[root@resdb-1 mysql]# /usr/bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): **(I PRESSED ENTER HERE)**
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我这辈子都无法为 root 设置密码,我试过了在网上找到的所有方法,只能使用mysqladmin -u root 密码 NEWPASSWORD,我每次都会收到相同的消息(有时是“使用密码:是”):错误 1045(28000):拒绝用户“root”@“localhost”访问(使用密码:否)
我甚至设法停止服务,跳入 mysql -u root 并使用 sql 命令进行设置,但它仍然不起作用,没有任何变化。
我在这里做错了什么?
编辑:
我尝试了以下操作,但没有任何效果:
[root@resdb-1 mysqld]# kill `cat /var/run/mysqld/mysqld.pid`
[root@resdb-1 mysqld]# mysqld_safe --init-file=/home/maddock/mysql-init &
[3] 20961
[root@resdb-1 mysqld]# Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
140129 20:32:00 mysqld ended
[3]- Done mysqld_safe --init-file=/home/maddock/mysql-init
[root@resdb-1 mysqld]# /sbin/service mysqld start
Starting mysqld: [ OK ]
[root@resdb-1 mysqld]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@resdb-1 mysqld]#
编辑2:
这里包含重置密码的命令:/home/maddock/mysql-init 内容:
UPDATE mysql.user SET Password=PASSWORD('testpass') WHERE User='root';
FLUSH PRIVILEGES;
答案1
我认为@tink 从一开始就说对了。
卸载不会删除数据库;它会删除数据库软件。
如果您安装了 MySQL、配置了 root 密码、卸载了 MySQL 并最终安装了另一个版本的 MySQL,那么第一次安装的数据仍然存在。
如果不是,想象一下当您在生产服务器上升级已安装的 MySQL RPM 时您会多么惊讶。升级本质上是卸载,然后重新安装。
如果您确实想从头开始,则需要手动删除现有文件。它们通常位于/var/lib/mysql
Linux 上。
如果你目前没有需要保存的 MySQL 数据并且您的配置保留在默认位置,您应该能够通过以下方式修复它:
rm -rf /var/lib/mysql/*; mysql_install_db
。