MySQL Server 5.7 修改 root 密码

通常安装 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)

SET PASSWORD

二、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)

UPDATE mysql.user

三、创建数据库并授予权限

最基本的方法为:使用 root 账号登录并创建数据库,再分配其权限给某个普通用户,再将该数据库与某个网络应用绑定。
CREATE DATABASE db_name
GRANT privileges ON db_name.tables TO user@domains IDENTIFIED BY 'user_pass'
CTEATE & GRANT
CREATE & GRANT
ALL 指代该数据库的所有权限,‘%’ 表示允许该用户从任意主机登录(可修改为指定 IP 地址,默认是 localhost)。
starky.* 表示该数据库中的所有表格

附:ubuntu 16.04 取消 MySQL Server 的默认自启动

$ sudo systemctl disable mysql取消 mysql 开机自启动
$ sudo systemctl start mysql 启动 mysql 服务