mysql安装

  • 1.把安装包放入/usr/local/下
  • 2.解压

tar -xzvf mysql-5.7.19-linux-glibc2.12-x86_64.tar

  • 3.给解压后文件改名

mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/masql

  • 4.为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限):

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

  • 5.进入安装mysql软件的目录:

cd /usr/local/mysql

  • 6.修改当前目录拥有者为新建的mysql用户:

chown -R mysql:mysql ./

  • 7.安装mysql,命令如下:

./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
安装成功后,记住随机密码
在这里插入图片描述

  • 8.开启mysql服务,命令如下:

./support-files/mysql.server start

如果开启mysql服务失败,报什么路径找不到,那是因为mysql启动时,会读mysql的配置文件/etc/my.cnf,因为里面的初始路径不对
修改内容如下,datadir和socket都修改成mysql的安装目录下,增加[client]板块,用于命令行连接mysql数据库

 - [mysqld]
 - port=3306
 - datadir=/usr/local/mysql/data
 - socket=/usr/local/mysql/mysql.sock
 - user=mysql
 -  
 - max_connections=151
 -  
 - federated
 -  
 - # Disabling symbolic-links is recommended to prevent assorted security risks
 - symbolic-links=0
 -  
 - # 设置忽略大小写
 - lower_case_table_names = 1
 -  
 - # 指定编码
 - character-set-server=utf8
 -  
 - collation-server=utf8_general_ci
 -  
 - # 开启ip绑定
 - bind-address = 0.0.0.0
 -  
 - [mysqld_safe]
 - log-error=/var/log/mysqld.log
 - pid-file=/var/run/mysqld/mysqld.pid
 -  
 - #指定客户端连接mysql时的socket通信文件路径
 - [client]
 - socket=/usr/local/mysql/mysql.sock
 -  
 - default-character-set=utf8

如果MySQL 启动不了,始终显示“The server quit without updating PID file”,很多人不知道什么原因,只能一步一步去排查。
解决方法 :

  • 给予权限,
    执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld
    2.可能进程里已经存在mysql进程
    用命令“ps -ef | grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld
    3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
    去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。
    4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,
    打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
    5.skip-federated字段问题
    检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
    6.错误日志目录不存在
    使用“chown” “chmod”命令赋予mysql所有者及权限
    7.selinux惹的祸,如果是centos系统,默认会开启selinux
    关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

  • 9.将mysql进程放入系统进程中,命令如下:

cp support-files/mysql.server /etc/init.d/mysqld

  • 10.重新启动mysql服务,命令如下:

service mysqld restart

  • 11.使用随机密码登录mysql数据库,命令如下:

先把mysql的命令设置为环境变量

/etc/profile中添加语句:
export PATH=$PATH:/usr/local/mysql/bin

编译/etc/profile
source /etc/profile

登录mysql
mysql -u root -p
等待系统提示,输入随机密码,即可登录,

mysql随机密码忘记的处理方式:
1.修改配置文件my.cfg
vi /etc/my.cnf
找到mysqld在之后添加
skip-grant-tables
保存退出

  • 重启mysql服务
    service mysqld restart
    3.直接登陆mysql而不需要密码
    mysql -u root (直接点击回车)
    4.在mysql中输入
    update mysql.user set password=password(‘egis_2018’) where user=‘root’;
    5.如果提示ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’。
    原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
    update mysql.user set authentication_string=password(‘123456’) where user=‘root’ ;
    6.执行flush privileges
    7.退出mysql ,到my.cgf中把开始添加的skip-grant-tables去掉
    8.重启mysql服务
    9.当你登陆mysql之后你会发现,当你执行命令时会出现
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement;
    当你执行了SET PASSWORD = PASSWORD(‘123456’);
    出现:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    10.你需要执行两个参数来把mysql默认的密码强度的取消了才行
    set global validate_password_policy=0;
    set global validate_password_mixed_case_count=2;
    11这是你在执行
    SET PASSWORD = PASSWORD(‘123456’);

  • 12.进入mysql操作行,为root用户设置新密码

alter user ‘root’@‘localhost’ identified by egis_2018’;

  • 13.设置允许远程连接数据库,命令如下:

先选择数据库
use mysql

update user set user.Host=’%’ where user.User=‘root’;

查看修改后的值
select user,host from user;

  • 14.刷新权限,命令如下:

flush privileges;

  • 15、开启3306防火墙端口或者关闭防火墙,然后即可远程连接mysql

关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

  • 16、如果还是无法远程连接,查看/etc/my.cnf

找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值