官方资料:http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-unix 还有一个得参考的mysql安装,与python-mysql安装博客http://hearrain.com/2011/01/498 据官方文档说, For example, if you run the server usin
官方资料:http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-unix
还有一个值得参考的mysql安装,与python-mysql安装博客http://hearrain.com/2011/01/498
据官方文档说,
For example, if you run the server using the mysql login account, you should log in as mysql before using the instructions. Alternatively, you can log in as root, but in this case you must start mysqld with the --user=mysql option. If you start the server as root without using --user=mysql, the server may create root-owned files in the data directory, such as log files, and these may cause permission-related problems for future server startups.
如果在安装完mysql后,当你用root登录的时候,必须加上--user=mysql,否则的话,服务器会自动创建root-owned文件,这些就会导致权限的问题
我之前就是因为直接登录了,然后root密码无修改权限,各种无权限
解决的办法就是
shell> kill `cat /mysql-data-directory/host_name.pid`
mysql-data-directory 的路径一般是 /usr/local/mysql/data下的包含你的电脑名称的以pid结尾的文件
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; FLUSH PRIVILEGES;结束进程之后,把上面的两句话放到一个文件中例如update_passwd,该文件在/usr/local/下
shell> mysqld_safe --init-file=/home/me/mysql-init &
然后sudo su进入root权限,进入mysql下bin输入以上命令,结束后(我的好像没有结束,就另开了一个terminal),
进入mysql命令行下
UPDATE mysql.user SET Password=PASSWORD('MyNewPass')
->WHERE User='root';
然后再进入就ok了