PrestaShop管理员指南 - 配置MySQL

配置MySQL

通常MySQL有一个默认的管理员帐号(root),通过这个帐号可以访问所有的数据库内容。这个管理员帐号拥有所有的权利,可以为所欲为。所以你需要强化你的数据库安全来保护你的WEB应用。

注意:如果你只是安装了MySQL的话,root帐号默认是没有密码的,请务必给root账号设置密码!
*在MySQL中,默认的帐户是非常不安全的,简单来说,包括如下内容:
操作系统 帐户名 连接发起位置 权利 初始密码
UNIX root 本机,用localhost表示 超级用户,拥有对数据库的全部控制 为空
本机,需要用主机名或者IP地址表示
匿名用户,为空字符 本机,用localhost表示 拥有访问test数据库或者所有其他以test开头的数据库的全部访问权限 为空
本机,需要用主机名或者IP地址表示
Windows root 本机,用localhost表示 超级用户,拥有对数据库的全部控制 为空
任何主机
匿名用户,为空字符 本机,用localhost表示 超级用户,拥有对数据库的全部控制 为空
任何主机 拥有访问test数据库或者所有其他以test开头的数据库的全部访问权限
你可以用MySQL的相关命令 1.删除匿名用户 :
shell> mysql -u root mysql> DELETE FROM mysql.user WHERE user=′′; mysql> FLUSH PRIVILEGES; 2.给root用户加密码 :
shell> mysql -u root mysql> SET PASSWORD FOR ′root′@′localhost′ = PASSWORD(′newPassword′); mysql> SET PASSWORD FOR ′root′@′%′ = PASSWORD(′newPassword′); Unix的不举例了.事实上一共有三种方式给root用户创建密码:
  • SET PASSWORD语句(如上)
  • mysql> UPDATE mysql.user SET password=PASSWORD(′newPassword′) WHERE user=′root′; mysql> FLUSH PRIVILEGES;
  • mysqladmin -u root -h host_name password "newPassword"
*丢失root密码之后的对应:
  • 1.终止MySQL服务
  • 2.编辑一个txt文件,命名为my_init.txt内容:SET PASSWORD FOR ′root′@′localhost′ = PASSWORD(′newPassword′);
  • 3.执行mysqld-nt或者mysqld(Windows)/mysql_safe(Unix) --init-file=my_init.txt
  • 4.重启MySQL服务
【为每一个WEB应用的数据库配置一个用户】 每次在你的服务器上新安装一个WEB应用的时候,你应当创建一个新的MySQL用户,这个用户被授权来操作和此应用相关的数据。切记不要用同一个用户名去处理所有的数据库。下面是你创建新用户并授权的例子:
shell> mysql -u root -p yourPassword mysql> use mysql; mysql> CREATE USER ′username′@′servername′ IDENTIFIED BY ′user_password′; mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER > ON ′prestashop′.* TO ′username′@′localhost′; mysql> FLUSH PRIVILEGES; 这样,你就有一个专门的用户username用来处理和prestashop相关所有的数据操作。
2012年10月1日于南昌
菊子曰 本文用菊子曰发布