概述
目录
一、下载
二、配置
1、在安装的路径下创建data文件夹(后续配置中要用到)
2、配置my.cnf文件
3、添加mysql用户、mysql组
三、安装启动
1、初始化mysql数据库(安装数据库)
2、给 /etc/init.d 文件夹拷贝 mysql 服务脚本
3、启动MySQL
4、遇到的问题
启动问题1:
启动问题2
启动问题3
执行命令 mysql 问题1
执行命令 mysql 问题2
四、登录修改密码
1、登录
2、修改密码
3、退出命令行
五、授权远程主机允许连接mysql数据库
启动问题1
一、下载
1、下载安装包
登录mysql官方网站 https://www.mysql.com/
找到适合自己安装机型的安装包,如下图所示:
2、解压:使用 tar -zxvf 文件名进行解压。
3、移动路径、文件夹改名:将解压的文件夹移动到usr路径下自定义一个文件夹
移动路径:
使用命令 mv 当前文件名(或路径) 空格 移动到的目标路径/:(例如:mv anaconda-ks.cfg 1dir/)
mv /home/marvin/My_Software/Development/mysql-5.7.26-linux-glibc2.12-x86_64 /usr/my_develop_software
修改文件夹名:
使用命令 mv 当前文件名(或路径) 空格 新文件名:(例如:mv anaconda-ks.cfg demo.bak)
mv /usr/my_develop_software/mysql-5.7.26-linux-glibc2.12-x86_64/ mysql-5.7
二、配置
1、在安装的路径下创建data文件夹(后续配置中要用到)
#进入迁移到的mysql主目录下创建data 目录
cd /usr/my_develop_software/mysql-5.7
#创建文件夹
mkdir data
2、配置my.cnf文件
修改配置文件:/etc/my.cnf 配置不对的话,后面初始化不全,会拿不到默认密码。
vim /etc/my.cnf
从mysql5.7开始不会自动生成my.cnf文件配置,所以需要手动创建。my.cnf文件输入以下内容
basedir:设置mysql的安装目录
datadir:设置mysql数据库的数据的存放目录
需要注意的是datadir参数,这里自己指定了data目录,data目录是不存在的需要我们手动创建
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
# socket通信配置
socket=/var/lib/mysql/mysql.sock
[mysqld]
# 跳过权限表校验:如果你在my.cnf中的有添加"skip-grant-tables",那么任何的帐号用任何的密码(当然也包括空)都可以登录到mysql数据>库
#skip-grant-tables
# 作用是禁止域名解析:在mysql的授权表中就不能使用主机名了,只能使用IP
skip-name-resolve
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/my_develop_software/mysql-5.7
# 设置mysql数据库的数据的存放目录
datadir=/usr/my_develop_software/mysql-5.7/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
3、添加mysql用户、mysql组
为centos添加mysql用户组、mysql用户
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/my_develop_software/mysql-5.7/
#查看组和用户情况
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
三、安装启动
1、初始化mysql数据库(安装数据库)
进入bin路径下,初始化mysql数据库
注意:
- 控制台会输出临时密码,请记下: root@localhost:xxxxxx
- 初始化命令里面的两个路径配置(需要改为自己的)
#进入bin路径下
cd /usr/my_develop_software/mysql-5.7/bin
#执行初始化安装命令
./mysqld --initialize --user=mysql --basedir=/usr/my_develop_software/mysql-5.7 --datadir=/usr/my_develop_software/mysql-5.7/data
如果出现如下图所示则为安装成功
2、给 /etc/init.d 文件夹拷贝 mysql 服务脚本
找到mysql.server文件,这个文件据说与mysqld文件一模一样,只是文件名不同
先将安装目录下 /support-files/mysql.server文件拷贝到 /etc/init.d/ 文件夹中并改名为 mysql。
cp /usr/my_develop_software/mysql-5.7/support-files/mysql.server /etc/init.d/mysql
3、启动MySQL
运行启动命令
# 启动命令
service mysql start
# 检查状态命令
service mysql status
# 关闭命令
service mysql stop
4、遇到的问题
启动问题1:
root 用户执行
service mysqld start
报错:启动mysqld.service失败:未找到(找不到mysqld服务)
[root@localhost ~]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
Failed to start mysqld.service: Unit not found.
下面两条命令都会出现此问题
- service mysqld status
- systemctl status mysqld
解决方案:
找到mysql.server文件,这个文件据说与mysqld文件一模一样,只是文件名不同
先将安装目录下 /support-files/mysql.server文件拷贝到 /etc/init.d/ 文件夹中并改名为 mysql。
cp /usr/my_develop_software/mysql-5.7/support-files/mysql.server /etc/init.d/mysql
启动问题2
报错:mysqld_safe log-error 配置对应的路径不存在(/etc/my.cnf 文件中)
[root@localhost support-files]# service mysql start
Starting MySQL.2022-04-29T17:02:44.368007Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
ERROR! The server quit without updating PID file (/usr/my_develop_software/mysql-5.7/data/localhost.localdomain.pid).
原因:没有路径、没有文件、没有权限,创建路径和文件就可以解决了
之前修改的配置文件 /etc/my.cnf 中最初默认就有 mysqld_safe 这个配置,但是现实中没有对应路径
#创建路径
mkdir /var/log/mariadb
#创建文件
touch /var/log/mariadb/mariadb.log
#设置权限
chown -R mysql:mysql /var/log/mariadb/
启动问题3
报错:mysqld_safe配置对应的路径不存在(/etc/my.cnf 文件中)
[root@localhost ~]# service mysql start
Starting MySQL.2022-04-29T17:37:33.168438Z mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
ERROR! The server quit without updating PID file (/usr/my_develop_software/mysql-5.7/data/localhost.localdomain.pid).
#创建路径
mkdir /var/lib/mysql
#设置权限
chown -R mysql:mysql /var/lib/mysql
执行命令 mysql 问题1
报错:安装启动好后不识别mysql命令
[root@localhost lib]# mysql
bash: mysql: command not found...
解决方案:配置mysql环境变量
使用vi命令更新配置文件
vi /etc/profile
将如下配置添加至文件中,然后保存退出
# mysql
export PATH=$PATH:/usr/my_develop_software/mysql-5.7/bin
注意:要使环境变量生效需要执行下面命令(重新加载配置文件)
source /etc/profile
执行命令 mysql 问题2
报错:不能通过socket连接到mysql服务
[root@localhost mysql]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决方案:
检查 /etc/my.cnf 文件里面 [mysql] 下配置 socket 文件路径是否存在(注意如果没有配置socket ,可能会去找这个默认的文件路径 /tmp/mysql.sock)
在 [mysql] 中配置加上 socket 配置:
socket=/var/lib/mysql/mysql.sock
四、登录修改密码
1、登录
密码使用安装时返回的临时密码
mysql -u 用户名 -p
mysql -u root -p
2、修改密码
ALTER USER '用户名'@'localhost' IDENTIFIED BY '密码';
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
3、退出命令行
quit
五、授权远程主机允许连接mysql数据库
1、查询配置数据
SELECT host,user,password_expired,password_last_changed,password_lifetime FROM mysql.user;
2、授权命令
grant all privileges on *.* to 'root'@'%' identified by '123456';
注意:请把命令中的【123456】更改为自己的Mysql密码。
其中上面的 host = % 表示任意IP, 即任意IP远程访问mysql数据库, 其用户名为=root
3、刷新授权:
flush privileges;
此时,你的Mysql就可以被远程连接了。
4、关闭授权
revoke all on *.* from dba@localhost;
5、防火墙问题
如果仍然不能从外部链接访问,请检查自己的防火墙配置是否开放了3306端口
或者
【警告真实环境不建议使用此方法】直接将防火墙关闭
常用防火墙命令
- systemctl status firewalld #查看状态
- systemctl restart firewalld #从启服务
- systemctl start firewalld #开启服务
- systemctl stop firewalld #关闭服务
- systemctl disable firewalld.service #禁止开机启动
==================================================================
启动问题1
marvin 用户执行
service mysqld start
报错:
[marvin@localhost /]$ service mysqld start
Redirecting to /bin/systemctl start mysqld.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: root
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to start mysqld.service: Access denied
See system logs and 'systemctl status mysqld.service' for details.
告诉我执行命令 systemctl status mysqld.service 查看log
报错:mysqld.service 没找到
[marvin@localhost /]$ systemctl status mysqld.service
Unit mysqld.service could not be found.
最后
以上就是端庄月饼为你收集整理的CentOS 7 安装MySQL 5.7一、下载二、配置三、安装启动四、登录修改密码五、授权远程主机允许连接mysql数据库的全部内容,希望文章能够帮你解决CentOS 7 安装MySQL 5.7一、下载二、配置三、安装启动四、登录修改密码五、授权远程主机允许连接mysql数据库所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复