MySQL - 安装

MySQL 安装 | 菜鸟教程    linux:yum方式安装mysql 8 - 点击领取

一、Cent OS系统

(一)安装前

1.1 删除mariadb数据库软件包
        rpm -qa|grep mari     //查询mariadb数据库软件包
        rpm -e --nodeps  查到的包名    //删除软件包

2.1 检查是否安装mysql
        rpm -qa | grep mysql
2.2 删除mysql
rpm -e mysql  // 普通删除模式
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

(二)安装mysql

1.创建mysql安装文件夹
        cd /usr/local
        mkdir mysql
        cd mysql
2.安装wget命令
        sudo yum -y install wget
   注:可以直接yum到仓库地址下载mysql的rmp包,不需要wget  yum仓库mysql下载安装初始化
MySQL - 安装_第1张图片

3.下载mysql

3.1 下载 (CentOS 7.6 64bit)
        wget https://dev.mysql.com/get/mysql80-community-release-el7-10.noarch.rpm
MySQL - 安装_第2张图片
        rpm -ivh mysql80-community-release-el7-10.noarch.rpm

查看yum的源,是否已经添加mysql
        yum repolist enabled

3.2 安装
        yum install -y mysql-community-server
MySQL - 安装_第3张图片
查看已安装的软件包
        rpm -qa | grep mysql
        MySQL - 安装_第4张图片

4.启动mysql服务

4.1 权限设置
        chown -R mysql:mysql /var/lib/mysql
【注意/var/lib/mysql和/var/lib/mysql/ 是不同的,我后边的4.3报错就是因为这个,改了好久才发现】

     说明:
        在Linux系统中,chown命令用于修改文件或目录的所有者和所属组,同时也可以用来修改进程的用户和用户组,是非常常用的系统命令之一。而在MySQL数据库中,也可以使用chown命令来修改MySQL服务的所有者和所属组。
        常见的情况是,如果我们使用root账户安装和启动MySQL服务,那么MySQL进程就会默认以root用户和root组的身份运行。为了提高系统的安全性和稳定性,我们通常会将MySQL服务的所有者和所属组修改为mysql.mysql
        以上命令将/var/lib/mysql目录下所有文件和目录的所有者和所属组都修改为mysql.mysql。其中,-R参数表示递归地修改整个目录树下的所有权限。这样一来,不管是MySQL的数据文件还是日志文件,都会以mysql.mysql的身份被访问和修改。
        需要注意的是,如果我们在修改MySQL服务的所有者和所属组之前,已经创建了数据库和表,那么需要把这些文件的所有者和所属组也修改为mysql.mysql,否则MySQL服务将无法正常读取和写入数据。
        总之,使用chown命令修改MySQL服务的所有者和所属组可以提高系统的安全性和稳定性,保障数据的完整性和可靠性。
另:
1) 从root到mysql:只需要输入mysql -u root -p即可登录道mysql密码界面,如果未设置密码,点击enter直接进入即可,已经设置密码用设置成功的密码登录
 2) 从mysql到root:只需要在mysql下输入exit;即可
 3) 查看mysql初始密码
        cat /var/log/mysqld.log|grep localhost

 4) mysql -u root -p
报错:“ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)”MySQL启动常见错误:ERROR 2002 (HY000) Can‘t connect to local MySQL server through socket ‘tmp_error 2002 (hy000): can't connect to local mysql s_web_15534274656的博客-CSDN博客
mysql -uroot -p 报错 ERROR 2002 (HY000): Can‘t connect to local MySQL server_Rocket MAN的博客-CSDN博客
直接新建文件  touch /var/lib/mysql/mysql.sock
                        sudo chown mysql: /var/lib/mysql/mysql.sock
4.2 初始化mysql
        mysqld --initialize
4.3 启动
        systemctl start mysqld.service
报错:“Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.” 权限不够见4.1-另错误解决借鉴
4.4 查看状态
        systemctl status mysqld.service
MySQL - 安装_第5张图片
4.5 设置开机自启动
        systemctl enable mysqld.service
        
停止mysql服务开机自启动    systemctl disable mysqld.service

5.设置mysql密码

5.1 获取临时密码
        grep 'temporary password' /var/log/mysqld.log
5.2 登录mysql
        mysql -u root -p
5.3 设置密码
        alter user 'root'@'localhost' identified by 'password@0';
5.4 密码策略修改

//设置密码长度
set global validate_password.length = 6;
//设置密码风险等级(等级越高要求密码越复杂),分为0、1、2级
set global validate_password.policy = 0;
//查询密码策略
show variables like 'validate_password.%';
注:只能临时修改密码策略,重启MySQL后自动恢复默认密码策略,想要永久修改需要改MySQL配置文件,一般来说临时修改密码策略就够了,又不天天改密码
5.5 修改密码
alter user 'root'@'localhost' identified by '123456';

6.允许外部访问该MySQL数据库

//创建用户
       (远程连接用的账号)           (远程连接用的密码)
create user 'root'@'%' identified by 'mypassword';
//分配权限,运行远程连接
                         (允许root账号远程连接)
grant all privileges on *.* to 'root'@'%' with grant option;
//刷新权限
flush privileges;
Linux(CentOS)安装MySQL教程_centos安装mysql_Star_Collecter的博客-CSDN博客

7.防火墙

7.1 不建议直接关闭防火墙
        systemctl stop firewalld.service   //关闭防火墙
7.2 指定端口允许外部访问
        #永久允许该端口被外部访问(3306是MySQL默认端口号)
        firewall-cmd --permanent --add-port=3306/tcp
        #重启防火墙
        firewall-cmd --reload

#关闭防火墙
systemctl stop firewalld.service
#禁止防火墙开机自启动
systemctl disable firewalld.service
#永久允许该端口被外部访问
firewall-cmd --permanent --add-port=3306/tcp
#临时允许该端口被外部访问
firewall-cmd --add-port=3306/tcp
#禁止该端口被外部访问
firewall-cmd --remove-port=3306/tcp
#重启防火墙
firewall-cmd --reload

二、Windows 系统

你可能感兴趣的:(数据库,mysql,数据库)