通常安装 MySQL Server 时,如使用包管理器(比如 ubuntu 的 apt-get),可在安装过程中设置 MySQL 的 root 密码。装好后使用
mysql -u root -p
命令登录并管理数据库。而使用其他方式安装的 MySQL 数据库(如 wamp )默认设置了空的 root 密码。可在需要的时候进行修改。
一、SET PASSWORD
使用空密码登录 root 用户并直接重新设置密码1
2
3
4$ mysql -uroot -p
...
mysql> SET PASSWORD FOR root@localhost=PASSWORD('your password');
Query OK, 0 rows affected, 1 warning (0.02 sec)
二、UPDATE mysql
使用空密码登录 root 用户并更新 mysql 数据库中的 user 表1
2
3
4
5
6
7
8$ mysql -uroot -p
...
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('your password')
-> WHERE user='root' AND host='localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 1
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
三、创建数据库并授予权限
最基本的方法为:使用 root 账号登录并创建数据库,再分配其权限给某个普通用户,再将该数据库与某个网络应用绑定。CREATE DATABASE db_name
GRANT privileges ON db_name.tables TO user@domains IDENTIFIED BY 'user_pass'
ALL 指代该数据库的所有权限,‘%’ 表示允许该用户从任意主机登录(可修改为指定 IP 地址,默认是 localhost)。
starky.* 表示该数据库中的所有表格
附:ubuntu 16.04 取消 MySQL Server 的默认自启动
$ sudo systemctl disable mysql
取消 mysql 开机自启动$ sudo systemctl start mysql
启动 mysql 服务