mysql安装好并不意味着所有的可以正常的使用,通常还要进行一些权限,远程连接等的配置才可以
输入:
mysql -u root -p
接下来会让输入密码,新安装的mysql默认没有密码,直接回车就进入了控制台, 设置了密码的输入密码即可进入
注:
无密码可以直接输入
mysql
回车进入
1.进入mysql的配置文件
在mysql5.6及之前的版本输入:
vim /etc/mysql/my.cnf
mysql5.7输入:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
2.找到[mysqld]段,并加入一行“skip-grant-tables”,wq保存退出
3、重启mysql服务,进入mysql控制台
service mysql restart
mysql -u root -p
直接回车,回车进入,不用输密码
select host, user, plugin from mysql.user;
注 :
host : 用户作用域,
user: 用户名
plugin: 密码验证方式
CREATE USER 'username'@'host' IDENTIFIED BY 'password'
例:
CREATE USER 'test'@'%' IDENTIFIED BY '123456'
注:
username:要创建用户名
host:用户的作用域,即可以通过那些ip登录,%通配全部,要仅本机登录为‘localhost’
password:用户密码
在未登录控制台时,修改用户密码:
mysqladmin -u root -p password 123456
回车输入原密码,原来没有密码直接回车
登录控制台后修改密码
set password for 'username'@'host' = password('password')
例:
set password for 'test'@'%' = password('123456')
注:
username:要修改密码用户名
host:用户的作用域,
password:用户密码
DROP USER 'username'@'host';
例:
DROP USER 'test'@'%';
注:
username:要删除用户名
host:用户的作用域,
GRANT privileges ON databasename.tablename TO 'username'@'host'
例:
GRANT all ON *.* TO 'test'@'%'
注
privileges :权限类别 SELECT,UPDATE等,全部权限 用 all
权限类别:
Alter 修改表和索引
Create 创建数据库和表
Delete 删除表中已有的记录
Drop 删除数据库和表
INDEX 创建或抛弃索引
Insert 向表中插入新行
REFERENCE 未用
Select 检索表中的记录
Update 修改现存表记录
FILE 读或写服务器上的文件
PROCESS 查看服务器中执行的线程信息或杀死线程
RELOAD 重载授权表或清空日志、主机缓存或表缓存。
SHUTDOWN 关闭服务器
ALL 所有;ALL PRIVILEGES同义词
USAGE 特殊的“无权限”权限
databasename:可以操作的数据库,*通配所有
tablename :数据库中可以操作的表,*通配所有
username:授予权限的用户名
host:用户的作用域,
只有root用户才能给其他用户权限,若想用户A可以给用户B权限需要在赋权限时加上 ‘WITH GRANT OPTION;’
即:
GRANT all ON *.* TO 'test'@'%' WITH GRANT OPTION;
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
例:
REVOKE all ON *.* FROM 'test'@'%';
注
privileges :权限类别 SELECT,UPDATE等,全部权限 用 all
databasename:撤销权限的数据库,*通配所有
tablename :撤销权限的表,*通配所有
username:撤销权限的用户名
host:用户的作用域,
在查看用户时,如果没有修改过,root 用户的plugin应该如下图所示为:auth_socket,是需要插件的,简单的方式便是修改
update user set plugin='mysql_native_password' where user='root';
flush privileges;
第一句代码都应该明白,更改用户root的plugin
第二句代码意思是刷新用户权限,注意。不刷新是修改不成功的
若登录phpmyadmin后报这个错误:
phpmyadmin - count(): Parameter must be an array or an object that implements Countable
解决办法:
vim /usr/share/phpmyadmin/libraries/sql.lib.php
进入sql.lib.php 查找 count($analyzed_sql_results[‘select_expr’
/count($analyzed_sql_results['select_expr'