美文网首页
centos7 mysql 5.7安装配置

centos7 mysql 5.7安装配置

作者: JackSpeed | 来源:发表于2018-09-20 16:50 被阅读0次

    1.下载mysql源安装包

    wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
    

    2.安装mysql源

    yum localinstall mysql57-community-release-el7-8.noarch.rpm
    

    3.检查mysql源是否安装成功

    yum repolist enabled |grep "mysql.*-community.*"
    

    4.出现类似这样的就OK了

    5.可以修改MySQL安装源,改变默认安装的mysql版本。

    vim /etc/yum.repos.d/mysql-community.repo
    

    比如要安装5 .6版本, 将5 .7源的enabled=1改成enabled=0。然后再将5 .6源的enabled=0改成enabled=1即可

    6.正式安装mysql

    yum install mysql-community-server
    

    安装过程中,有选择的话就选yes就行了,即输入:y

    7.启动MySQL

    systemctl start mysqld
    

    8.设置MySQL开机启动,执行下面两条命即可

    systemctl enable mysqld
    systemctl daemon-reload
    

    9.查看mysql状态

    systemctl status mysqld
    
    MySQL状态

    10.修改root本地登录密码

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

     grep 'temporary password' /var/log/mysqld.log
    
    Image [2].png

    得到初始密码:.S7jyjR+#k(l

    mysql -uroot -p
    

    输入上面得到的密码进入MySQL命令模式,执行设置密码命令(ccc123456是我的密码,密码自行设置)

    set password for 'root'@'localhost'=password('ccc123456!');    
    

    如果出现了:Your password does not satisfy the current policy requirements
    执行命令:

    set global validate_password_policy=0;
    set password for 'root'@'localhost'=password('ccc123456!');
    

    11.配置默认编码为utf8

    修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置

    vi  /etc/my.cnf
    

    在[mysqld]下面加上

    character_set_server=utf8
    init_connect='SET NAMES utf8'
    

    不需要密码策略操作:

    validate_password = off
    

    12.设置远程访问权限

    给192.168.0.101 远程访问权限

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.101' IDENTIFIED BY 'root用户的密码' WITH GRANT OPTION;
    

    给任意IP 远程访问mysql权限
    GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'root用户的密码' WITH GRANT OPTION;

    13.mysql其他配置

    mysql_secure_installation
    

    然后回弹出一写乱七八糟的,老夫看不懂,主要的就是:
     (1)Set root password?[Y/n]y-------设置root用户密码-------因为前面没有设置密码,所以现在设置一下密码,输入:y 后面的操作比较简单,输入密码而已。
     (2)Remove anonymous users? [Y/n] y -------删除匿名用户,这个选项看个人了 -------我选的是y
     (3)Disallow root login remotely? [Y/n] y -------禁止root远程登录 -------这个我选的n
     (4)Remove test database and access to it? [Y/n] y -------删除test数据库 ------- 这个我选的Y
     (5)Reload privilege tables now? [Y/n] y ------- 刷新权限 -------我选的Y

    14.默认配置文件路径:

    配置文件:/etc/my.cnf
    日志文件:/var/log//var/log/mysqld.log
    服务启动脚本:/usr/lib/systemd/system/mysqld.service
    socket文件:/var/run/mysqld/mysqld.pid

    基本安装配置完成了,下面是一些使用过程中遇到的问题


    附:

    1.将mysql数据库表主键重置为1

    TRUNCATE TABLE   表名
    

    此操作会吧表的所有数据瞬间清空,主键id重置为1

    2..分组查询的时候报错:which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

    重点是这个 sql_mode=only_full_group_by,这时候修改一下mysql的配置文件:

    vim /etc/my.cnf
    

    如果里面存在配置sql_mode则修改为

    sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    

    如果不存在的话就直接加上

    sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    

    最后重启nysql服务解决问题

    3.mysql中文乱码问题

    服务端接收到的中文参数没有乱码,存入数据库的时候发现中文乱码了。
    数据库的编码格式已经设置为utf-8 ,表的编码格式也是utf-8.
    正常情况貌似不会出现乱码,but现在出现了。
    解决办法:
    在数据库连接加上 编码限制
    修改之前:


    image.png

    修改之后:

    image.png

    新手操作,欢迎大家指教,喜欢的记得点赞哦

    相关文章

      网友评论

          本文标题:centos7 mysql 5.7安装配置

          本文链接:https://www.haomeiwen.com/subject/wmrnnftx.html