CentOS下设置MySQL的root密码以及设置远程访问

CentOS刚装的MySQL一般需要重设MySQL密码,可以用以下方法重设。 
方法一、 
Js代码  
# /etc/init.d/mysqld 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>   
mysql>  


方法二、 
Js代码  
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:  
# mysql -udebian-sys-maint -p   
Enter password: <输入[client]节的密码>   
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';   
mysql> FLUSH PRIVILEGES;   
mysql> quit  
# mysql -uroot -p   
Enter password: <输入新设的密码newpassword>   

MySQL>  


1.1 支持远程访问:(这个不行请看1.2)

mysql>use mysql;
mysql>update user set host = '%' where user = 'root';   --%可以改成ip或者其他
mysql>select host, user from user;    

重启数据库

1.2 远程访问

mysql不允许远程用户访问主机服务器 1130 
安装完之后成 使用 mysql admin连接报错 
ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server 
以下百度查到的,试过可以 
说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。 
需更改 mysql 数据库里的 user表里的 host项 
把localhost改称% 
具体步骤:登陆到mysql 
首先 use mysql; 
按照别人提供的方式update的时候,出现错误。 
mysql> update user set host='%' where user = 'root'; 
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 
然后查看了下数据库的host信息如下: 
mysql> select host from user where user = 'root'; 
+-----------------------+ 
| host | 
+-----------------------+ 
| % | 
| 127.0.0.1 | 
| localhost.localdomain | 
+-----------------------+ 
3 rows in set (0.00 sec) 
host已经有了%这个值,所以直接运行命令: 
mysql>flush privileges; 
再用mysql administrator连接...成功!!!


你可能感兴趣的:(mysql,centos)