Linux中安装Mysql

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

扩展

执行grep的时候可以看到有各种mysql-xx,简单使用的话安装这个mysql-server就好了.比如mysql-devel.x86_64就是给开发mysql的人用的.

image-20220310214402331

3.查看Mysql版本

# 查看版本
mysql -V

4.设置初始密码

启动mysql才能设置密码.

systemctl start mysqld 		#启动mysqld
systemctl status mysqld 	#查看 MySQL Server 状态

设置密码

# 替换new-password,密码不包括''
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 状态

这个时候用Navicat等工具会发现,连接不上,因为root用户默认只允许本机(刚进行安装操作的服务器)上访问.

image-20220310212817545

6.服务器上登录Mysql

mysql -u root -p
# 输入刚才设置的密码

7.设置Mysql用户的ip访问权限

7.1 选择使用库:mysql

现在进入到了服务器的mysql中

# 1.选择数据库mysql
use mysql;

# 2.修改root用户的ip访问权限: %代表所有,默认的localhost只能在本机访问.
#设置用户root可以在任意IP下被访问:
grant all privileges on . to root@"%" identified by "密码";
#或者
update user set host = '%' where user = 'root';

7.2 刷新权限

flush privileges;

其实就是改了数据库mysql下user表的字段值

image-20220310213338398

7.3 成功连接

image-20220310213238855

7.4 命令行中退出

# 输入quit即可
mysql> quit
Bye
[root@yang37 ~]# 

8.创建Mysql的其他用户并授权

root用户权限很大,用Navicat之类的第三方连接或者平时写代码时用个小权限的用户就好了.

8.1 语法

GRANT privileges ON dbname.tablename TO 'username'@'host'
  • privileges

    用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL

  • dbname

    数据库名

  • tablename

    表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示

8.2 示例1

#创建用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';		

#用户授权
# db01库table01表: INSER权限
GRANT SELECT, INSERT ON db01.table01 TO 'username'@'%';
# *库*表 ALL权限
GRANT ALL ON *.* TO 'username'@'%';
# maindataplus库*表 ALL权限
GRANT ALL ON maindataplus.* TO 'username'@'%';

#刷新权限
flush privileges;

能否给用户授权也是个权限,如果想让该用户可以授权,用这个命令:

GRANT privileges ON dbname.tablename TO 'username'@'%' WITH GRANT OPTION;

8.3 示例2

  #授权用户yang在za7za8这个数据库下有所有的操作权限
  grant all privileges on za7za8.* to yang;
  #刷新权限
  flush privileges;

8.4 扩展

场景一:

由于权限配置项太多了,平时使用自定义用户发现权限不够.

想把root用户访问权限回去%,好在Navicat中操作root加些权限(记录下服务器命令好复制)

# 登录服务器,连接mysql.
mysql -u root -p
# 选择数据库: mysql
use mysql;
# 更新root访问权限 - 任意
update user set host = '%' where user = 'root';
# 刷新权限
flush privileges;

# ----------------------------------
# 更新root访问权限 - 本机
update user set host = 'localhost' where user = 'root';
# 刷新权限
flush privileges;

9.图形化工具

9.1 Navicat

image-20220310214103056

image-20220310214031393

默认显示所有的数据库,在这里可以配置连接时打开哪个具体的数据库.

image-20220310214003318

9.2 Sqlyog

image-20201119235902301

posted @ 2020-11-20 00:00  羊37  阅读(181)  评论(0编辑  收藏  举报