1.服务器及Mysql版本
百度云 CentOS / 8.1 x86_64 (64bit)
mysql Ver 8.0.21 for Linux on x86_64 (Source distribution)
2.执行yum命令进行安装
yum install mysql-server
3.查看Mysql版本
mysql -V
4.设置初始密码
mysqladmin -u root password ‘new-password‘
#或者
set password for ‘root‘@‘localhost‘ = password(‘new-password‘);
5.mysql服务启动等操作
systemctl start mysqld #启动mysqld
systemctl stop mysqld #停止mysqld
systemctl restart mysqld #重启mysqld
systemctl enable mysqld #设置开机启动
systemctl status mysqld #查看 MySQL Server 状态
6.登录mysql
mysql -u root -p
7.设置mysql用户的访问权限
%代表所有,默认的localhost只能在本机访问.
#设置用户root可以在任意IP下被访问:
grant all privileges on . to root@"%" identified by "密码";
#或者
update user set host = ‘%‘ where user = ‘root‘;
刷新权限
flush privileges;
其实就是改了数据库mysql下user表的字段值
8.创建mysql的其他用户并授权
root用户权限很大,用sqlyog之类的第三方连接或者平时写代码时用个小权限的用户就好了.
8.1 语法
GRANT privileges ON dbname.tablename TO ‘username‘@‘host‘
-
privileges
用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
-
dbname
数据库名
-
tablename
表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示
8.2 示例
#创建用户
CREATE USER ‘username‘@‘%‘ IDENTIFIED BY ‘password‘;
#用户授权
GRANT SELECT, INSERT ON db01.table01 TO ‘username‘@‘%‘;
GRANT ALL ON *.* TO ‘username‘@‘%‘;
GRANT ALL ON maindataplus.* TO ‘username‘@‘%‘;
#刷新权限
flush privileges;
能否授权也是个权限,如果想让该用户可以授权,用以下命令:
GRANT privileges ON dbname.tablename TO ‘username‘@‘%‘ WITH GRANT OPTION;