一、安装mysql
sudo apt-get update
sudo apt-get install mysql-server
sudo apt isntall mysql-client
sudo apt install libmysqlclient-dev
二、安装成功后可以通过下面的命令测试是否安装成功:
sudo netstat -tap | grep mysql
出现如下信息证明安装成功:
三、设置mysql允许远程访问
现在设置mysql允许远程访问,首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1:
四、更改用户密码
命令:
SET PASSWORD FOR 'username'@'localhost' = PASSWORD('newpassword');
例如把前面创建的mysql用户密码改为a
SET PASSWORD FOR 'mysql'@'%' = PASSWORD('a');
五、创建用户
在控制台输入命令: mysql
回车进入mysql的控制台。
创建用户命令:
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
username:你将创建的用户名;
%:指定该用户在哪个主机上可以登录,%表示该用户可以从任意远程主机登录,如果是本地用户可用localhost;
password:该用户的登录密码,密码可以为空,如果为空则该用户可以不需要密码登录服务器。
例如:
CREATE USER 'shujie'@'%' IDENTIFIED BY 'a';
表示创建一个名为shujie的用户,可以从任意远程主机连接,密码为a。
查看所有的用户:
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
或
select distinct concat(user,'''@''',host,''';') FROM mysql.user;
六、删除用户
命令:
DROP USER 'username'@'%';
七、撤销用户权限
命令:
REVOKE privilege ON databasename.tablename FROM 'username'@'%';
八、授予用户权限
命令:
GRANT privileges ON databasename.tablename TO 'username'@'localhost';
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所有的权限则使用ALL;
databasename:数据库名,如果要授予该用户对所有数据库的操作权限则可用 * 表示;
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用 * 表示。
例如:
GRANT ALL ON *.* TO 'root'@'%';
GRANT ALL ON flight.* TO 'mysql'@'%';
第一个命令表示授予root用户对全部数据库的所有操作,第二个命令表示授予shujie用户对flight数据库的全部表的所有操作。
这里推荐创建一个root用户并授予全部权限,但是这个用户只留给自己用,方便远程连接来管理自己所有的数据库。
查看该用户的权限:
show grants for mysql;