MySQL初始化配置

MySQL初始化配置

刚安装完成MySQL后,在进入MySQL时,总是有错误提示:

# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 

或者

# mysql -u root -p password 'newpassword' 
Enter password: 
mysqladmin: connect to server at 'localhost' failed 
error: 'Access denied for user 'root'@'localhost' (using password: YES)' 

解决方案:

安装完成MySQL后,需要进行下面的配置:
启动mysql:

# /etc/init.d/mysql start
# /etc/init.d/mysql stop

启动成功后查看mysql进程信息,获取mysqld_safe的安装目录(非常关键):

# ps -ef | grep -i mysql
root      6013  4243  0 14:56 pts/1    00:00:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
mysql     6151  6013  0 14:56 pts/1    00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root      6195  4243  0 15:14 pts/1    00:00:00 grep -i mysql

可以看到mysqld_safe的安装位置:/usr/bin/
接着执行一下命令停止mysql:

/etc/init.d/mysql stop

以安全方式启动mysql:

#/usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &

稍等5秒钟,然后执行以下语句:

#/usr/bin/mysql -u root mysql

注意:mysql与mysql_safe目录一样,都是:/usr/bin/下,这个是通过“ps -ef | grep -i mysql”命令得到的。
出现“mysql>”提示符后输入:

mysql> update user set authentication_string = Password('123456') where User = 'root';

回车后执行(刷新MySQL系统权限相关的表):

mysql> flush privileges;
Query OK, 1 row affected, 1 warning (0.15 sec)
Rows matched: 1 Changed: 1 Warnings: 1

再执行exit退出:

mysql> exit;

退出后,使用以下命令登陆mysql,试试是否成功:

#mysql -u root -p

按提示输入密码:123456

进入后重新设置一次密码:

mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec) 

然后就能正常操作了。

猜你喜欢

转载自blog.csdn.net/gongchenyu/article/details/76996089