• CentOS7 安装Mysql5.7


    1 安装 GCC
    yum install gcc
    yum install tcl
     
    2 安装wget
    yum install wget
     
    3 下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
     
    4 安装mysql源 shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
     
    5 检查mysql源是否安装成功
    shell> yum repolist enabled | grep "mysql.*-community.*"
     
    6 安装MySQL
    shell> yum install mysql-community-server
     
    7 启动MySQL服务
    shell> systemctl start mysqld
     
    8 重新启动
    shell> systemctl restart mysqld
     
    9 查看MySQL的启动状态
    shell> systemctl status mysqld
     
    10 开机启动
    shell> systemctl enable mysqld shell> systemctl daemon-reload
     
    11 修改root默认密码
    mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
    shell> grep 'temporary password' /var/log/mysqld.log
     
    shell> mysql -uroot -p
    Enter password: 输入默认密码 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
    或者
    mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
     
     
    12 添加远程登录用户
    默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
    mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
    mysql> flush privileges;
     
    grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";
    flush privileges;   * 刷新刚才的内容*
     
    格式:grant 权限 on 数据库教程名.表名 to 用户@登录主机 identified by "用户密码";
                @ 后面是访问MySQL的客户端ip地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。
    同时也可以为现有的用户设置是否具有远程访问权限。如下:
    use mysql;
    update db set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)
    flush privileges;
     
    注:flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。
     
    13 使用nativecat远程连接数据?
    提示:2003 -Can't connect to MySQL server on '10.0.0.18'(10038)
    验证 telnet 192.168.237.102 3306 在端口 3306: 连接失败
    再到虚拟机上确认 netstat -anp 
    说明端口不通
     
    14 开通3306端口
    下面记录如何使用firewalld开放Linux端口:
    开启端口?
    [root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
    命令含义:
    –zone #作用域
    –add-port=3306/tcp #添加端口,格式为:端口/通讯协议
    –permanent #永久生效,没有此参数重启后失效
    重启防火墙?
    [root@localhost ~]# firewall-cmd --reload
     
     
    常见问题处理:
    中途一些操作导致mysql.sock文件丢失
    mysql.sock是一个临时文件,在mysql启动时会自动生成
    可以简单地通过重启服务器重新创建得到它,前提是你的mysql服务可以正常重新启动
     
    错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用户权限问题
    重新授权:
    mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
    mysql> flush privileges;
  • 相关阅读:
    BZOJ2435 NOI2011道路修建
    BZOJ2431 HAOI2009逆序对数列(动态规划)
    BZOJ2456 mode
    BZOJ2324 ZJOI2011营救皮卡丘(floyd+上下界费用流)
    BZOJ2303 APIO2011方格染色(并查集)
    BZOJ2299 HAOI2011向量(数论)
    BZOJ2169 连边(动态规划)
    BZOJ2159 Crash的文明世界(树形dp+斯特林数)
    洛谷 P1306 斐波那契公约数 解题报告
    洛谷 P2389 电脑班的裁员 解题报告
  • 原文地址:https://www.cnblogs.com/acewhl/p/7016646.html
Copyright © 2020-2023  润新知