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下载安装初始化
3.下载mysql
3.1 下载 (CentOS 7.6 64bit)
wget https://dev.mysql.com/get/mysql80-community-release-el7-10.noarch.rpm
rpm -ivh mysql80-community-release-el7-10.noarch.rpm
查看yum的源,是否已经添加mysql
yum repolist enabled
3.2 安装
yum install -y mysql-community-server
查看已安装的软件包
rpm -qa | grep mysql
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
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 系统
略