初始化密码
主要方法就是修改 MySQL按照文件下面的my.cnf文件
首先是找到my.cnf文件,
# find / -name “my.cnf”
# cd /etc
接下来最好是先备份my.cnf文件,对于初手而言
#/etc vi my.cnf
之后找到[mysqld]的段,在那段中插入一行:
skip-grant-tables
这句的作用是让你不用密码就可以登录MySQL
接下来就是重启MySQL了,
#/etc/init.d/mysqld restart
在接下来就是无密码登录MySQL了,
#mysql -uroot -p
回车键
接下来就是:
mysql > use mysql
进入到mysql,然后修改密码
Mysql > UPDATE user SET password=password(‘123456’) WHERE User=’root’;
最后使权限生效
Mysql > flush privileges ;
到此为止 密码就修改成功了,
然后把my.cnf的修改再改回去,不然 就是不需要密码就可以登录数据库了,
#/etc vi my.cnf
之后找到[mysqld]的段,删去先前插入的那一行:
去掉skip-grant-tables
然后退出来,再重新启动mysql
#/etc/init.d/mysqld restart
接下来就是登录了,
#mysql -uroot -p
Enter password:123456
回车键
---------------------------------------------------------------------分割线------------------------------------------------
远程连接赋权限
在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。缺省状态下,mysql的用户没有远程访问的权限。下面介绍两种方法,解决这一问题。
1、改表法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -p mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user; 2、授权法 在安装mysql的机器上运行: 1、d:\mysql\bin\>mysql -h localhost -u root //这样应该可以进入MySQL服务器 2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION //赋予任何主机访问数据的权限 例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI TH GRANT OPTION; 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 3、mysql>FLUSH PRIVILEGES //修改生效 4、mysql>EXIT 退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录