zoukankan      html  css  js  c++  java
  • Centos安装mysql

    试着在腾讯云服务器上部署web应用,就想着先搭建一下服务器环境,操作系统选的是centos7,在安装好jdk,tomcat后测试可以部署web应用就准备再安装一个mysql数据库,之前试过好几种方式都是以初始密码找不到告终,这次就又重新百度安装方式。

      据说centos7没有mysql 的yum源,于是就直接从网上下载mysql的repo源(这个玩意目前还没仔细探究是什么东西,在centos里面应该会涉及到),使用

    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 

    从网上下载这个rpm包(这里wget 命令是从网络上下载文件的命令一般的格式为wget +url),下载好rpm包后安装这个包

     rpm -ivh mysql-community-release-el7-5.noarch.rpm

    安装好这个rpm包后,开始安装mysql-server 

    sudo yum install mysql-server

    之后就是网络下载安装了,在中间会出现两个需要选择的地方都填“y”回车就行,然后就会显示安装成功

    然后我们来测试是否安装成功,这时如果直接像windows下一样输入mysql -uroot -p可能会出现一些错误(ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2))原因是mysql这个文件的权限问题,需要把这个文件的权限改为当前用户

     sudo chown -R openscanner:openscanner /var/lib/mysql

    然后就重启服务重新直接登录root用户 

    service mysqld restart
    mysql -u root 

    这样就会进入到mysql服务,也就是我们常用的mysql命令行,这时就要来修改root用户的密码了

    use mysql;
    update user set password=password('new password') where user='root';
    flush privileges;

    这里的第一句是选用需要修改的数据库,在mysql中用户名密码都在数据库名为mysql的这个库中,在修改数据库中的数据表前都需要使用use命令选中使用哪个数据库,第二句是更新数据表user中root用户的密码为新密码,第三句是将前面所做的修改在系统中刷新生效。

    然后就可以使用exit命令退出然后重新使用mysql -uroot -p 回车然后输入新密码进入mysql了。

      总结:在这里centos安装mysql和windows下安装mysql就有区别了,windows下安装mysql方式有几种,直接下载安装包安装那就是傻瓜式安装直接下一步就行,使用免安装版的就是在官网上下载压缩包解压,然后修改默认配置文件default.ini为my.ini文件内容修改一下这个文件下的bin目录和data目录以及当需要修改编码方式支持中文时加入utf-8的支持,然后就初始化mysqld服务,启动mysql服务之后就可以登录root用户进入了(初始密码在安装后生成的一个文件中),登录修改密码的语句都一样了。这里可能区别更多的就是因为系统的差异引起的。

    首先登录MySQL。 mysql> use mysql;

    mysql> update user set password=password('123') where user='root' and host='localhost';

    mysql> flush privileges;


    下载mysql源安装包
    wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm


    安装mysql源
     yum localinstall mysql57-community-release-el7-8.noarch.rpm


    检查mysql源是否安装成功
    yum repolist enabled | grep "mysql.*-community.*"


    1、安装MySQL
    yum install mysql-community-server


    2、启动MySQL服务
     systemctl start mysqld


    3、查看MySQL的启动状态

     systemctl status mysqld

    4、开机启动
    systemctl enable mysqld
    systemctl daemon-reload


    5、修改root本地登录密码
    mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

    grep 'temporary password' /var/log/mysqld.log

    查看密码

    mysql -uroot -p密码

    设置密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass'; 


     注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误
     
     show variables like '%password%';


    validate_password_policy:密码策略,默认为MEDIUM策略 
    validate_password_dictionary_file:密码策略文件,策略为STRONG才需要 
    validate_password_length:密码最少长度 
    validate_password_mixed_case_count:大小写字符长度,至少1个 
    validate_password_number_count :数字至少1个 
    validate_password_special_char_count:特殊字符至少1个 
    上述参数是默认策略MEDIUM的密码检查规则。


    修改密码策略
    在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略


    # 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
    validate_password_policy=0
    如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:


    validate_password = off
    重新启动mysql服务使配置生效:


    systemctl restart mysqld




    6、添加远程登录用户
    默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
    GRANT ALL PRIVILEGES ON *.* TO 'roottest'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

    7、配置默认编码为utf8
    修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
    [mysqld]

    character_set_server=utf8

    init_connect='SET NAMES utf8'

    8、修改端口号、开放端口
    vi /etc/my.cnf 
    添加port=3308
    重新启动mysql服务使配置生效:

    systemctl restart mysqld

    设置远程端口

    # firewall-cmd --zone=public --add-port=3308/tcp --permanent

    success

    生效修改

    # firewall-cmd --reload
    success
    默认配置文件路径: 
    配置文件:/etc/my.cnf 
    日志文件:/var/log//var/log/mysqld.log 
    服务启动脚本:/usr/lib/systemd/system/mysqld.service 
    socket文件:/var/run/mysqld/mysqld.pid
     
  • 相关阅读:
    linux下启动和关闭网卡命令及DHCP上网
    python 编码问题
    paddlepaddle
    Convolutional Neural Network Architectures for Matching Natural Language Sentences
    deep learning RNN
    Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
    Python IO密集型任务、计算密集型任务,以及多线程、多进程
    EM 算法最好的解释
    tensorflow 调参过程
    tensorflow 学习纪录(持续更新)
  • 原文地址:https://www.cnblogs.com/gaidy/p/11287352.html
Copyright © 2011-2022 走看看