Linux安装MySQL(用户设置、数据库创建以及赋权)


一、安装前的环境检查

1、切换至root用户

su root

二、检查Centos上有没有安装过MySQL

2.1、检查是否有MySQL正在运行
// 检查MySQL进程
ps ajx | grep mysql
// 检查mariabd进程
ps ajx | grep mariabd

  • 如果有进程存在,需要关闭进程。

  • 如果没有发现进程存在,说明没有MySQL运行
  • 注意:mariabd是MySQL的分支,需要检查。
systemctl stop mysqld.service

2.2、检查是否有MySQL的安装包
rpm -qa | grep mysql

  • 若有安装包出现,并且我们之前没有用过 MySQL ,那就将这些安装包删除。
rpm -qa | grep mysql | xargs yum -y remove // 批量删除安装包

2.3、检查是否有MySQL相关的配置文件
ls /etc/my.cnf

  • 若有配置文件,删除即可
rm -rf /etc/my.cnf

2.4、检查是否有客户端和服务端
which mysql     //检查客户端

which mysqld    //检查服务端

三、下载MySQL安装包(本次使用wget进行下载安装)

3.1、查询Linux是什么版本

cat /etc/redhat-release

3.2、进入官网找到系统对应的版本:http://repo.mysql.com

3.3、下载上一步找到的对应的版本

wget https://repo.mysql.com/mysql84-community-release-el7.rpm

3.4、解压安装包

rpm -ivh mysql84-community-release-el7.rpm

3.5、检查是否解压成功

ls /etc/yum.repos.d/ -l

四、安装 MySQL

yum install -y mysql-community-server



  • 检查是否安装成功
ls /etc/my.cnf

which mysqld

which mysql

五、启动以及登录MySQL

5.1、启动MySQL

systemctl start mysqld

5.2、检查是否启动成功

ps ajx | grep mysqld

5.3、在/var/log/mysqld.log下查看MySQL初始化的密码

cat /var/log/mysqld.log

5.4、登录MySQL(此时不知道登录密码,无法登录)

 mysql -u root -p

5.5、修改root密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

FLUSH PRIVILEGES;

5.6、设置 root 远程访问

  • 修改root用户的host为%
update user set host='%' where user='root';


  • 设置root远程访问
grant all privileges on *.* to root@'%' with grant option;

flush privileges;

至此MySQL的安装以及root的设置全部完成


六、Mysql创建用户并赋权以及数据库

6.1、创建用户

  • 6.1.1、创建本地用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

这将在MySQL中创建一个名为’username’的用户,并设置密码为’password’。这个用户只能从本地主机(localhost)进行连接。

  • 6.1.2、创建远程用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';

这将创建一个名为’username’的用户,并设置密码为’password’。这个用户可以从任何远程主机进行连接。

6.2、创建数据库

CREATE DATABASE dbname;

这将在MySQL中创建一个名为’dbname’的数据库。

6.3、用户授权

  • 6.3.1、授权指定数据库
GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'localhost';

这将授予’username’用户对’dbname’数据库的所有权限,并限制只能从本地主机进行连接。如果远程访问,则:

GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'%';
  • 6.3.2、授予用户对所有数据库的访问权限
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';

这将授予’username’用户对所有数据库的所有权限,并限制只能从本地主机进行连接。如果远程访问,则:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
  • 6.3.3、刷新权限
FLUSH PRIVILEGES;

刷新MySQL的权限表,以使新的用户和权限生效。


 上一篇
Linux安装redis并设置开机启动 Linux安装redis并设置开机启动
本次使用centos7环境的ecs阿里云服务器进行安装Redis,供开发、测试、学习使用等。在Linux环境下安装、配置和使用Redis。
2025-03-26
下一篇 
linux中安装nginx linux中安装nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。
2024-12-05
  目录