MySQL 5.7在CentOS7以yum方式安装.

MySQL 5.7在CentOS7以yum方式安装

一、安装环境

  • MySQL版本号:5.7.28 、CentOs7.x;
  • 本地虚机:192.168.230.132(勿管:个人备忘)

二、安装流程

2.1、下载yum repository

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

2.2、安装Mysql

yum -y install mysql57-community-release-el7-10.noarch.rpm

2.3、安装MySQL服务器

yum -y install mysql-community-server

2.4、启动MySQL

systemctl start mysqld.service

2.5、查看运行状态

systemctl status mysqld.service

2.6、找到MySQL root用户的初始密码:

grep "password" /var/log/mysqld.log

2.7、使用临时密码连接客户端:

mysql -uroot -pR+,Y_Dp_76r

2.8、修改密码安全限制,否则不能使用简单密码

  • 临时修改:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
  • 永久修改:MySQL默认的配置文件:vim /etc/my.cnf
validate_password_policy=0
validate_password_length=1

2.9、修改后重启MySQL

service mysqld restart;

2.10、修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

2.11、授权远程访问

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456'; 

2.12、关闭防火墙

  • 如果需要远程连接,注意开放3306端口或者关闭防火墙
#关闭命令
service firewalld stop;
#关闭防火墙自启动:
chkconfig firewalld off;
#查看防火墙状态:
service firewalld status;

三、创建用户并授权(非root用户)

3.1、创建用户

  • 切换到root用户下,输入如下MySQL命令(以下均用用户名为alix,密码为Alix_1234为例):
CREATE USER 'alix'@'%' IDENTIFIED BY 'Alix_1234';
FLUSH PRIVILEGES;

3.2、验证是否创建成功

  • 在root用户下,输入如下MySQL命令:
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
  • 如果query中出现cdc,那就证明cdc用户创建成功;

3.3、对新增用户增加权限

  • 以增加所有权限为例:

    GRANT ALL PRIVILEGES ON *.* TO 'alix'@'%' IDENTIFIED BY 'Alix_1234';
    
  • 检查权限:

    show grants for 'alix'@'%';
    

四、忘记密码解决方式

4.1、修改my.cnf

  • 如果忘记了root密码或者用临时密码无法登录:
vim /etc/my.cnf
  • 在配置文件中加一行skip-grant-tables
[mysqld]
skip-grant-tables

4.2、重启数据库服务

service mysqld restart;

4.3、设置密码

  • 然后使用mysql命令登录,使用以下密码修改密码:
mysql> update user set authentication_string=password('123456')  where Host='localhost' and User='root';
  • 修改以后,在配置文件中去掉skip-grant-tables,重启数据库服务。
  • 再使用 mysql -uroot -p123456登录。修改密码安全限制和授权远程访问依然要做。

五、问题:

5.1、连接失败问题:

  • 连接失败!null, message from server: “Host ‘xxxx‘ is not allowed to connect to this MySQL server“

    解决方法:连接数据库,这里以默认用户名密码为例

    mysql -uroot -proot
    show databases;
    use mysql ;
    select user,host from user;//可以看到user为root,host为localhost的话,说明mysql只允许本机连接,那么外网,本地软件客户端就无法连接了。
    update user set host = ‘%’ where user=‘root’;
    flush privileges; //刷新权限
    

5.2、时区不同步问题:

  • 解决方法:修改jdbc时区,改成服务器所在地的真实时区

    修改前:jdbc:mysql://[IP]:[PORT]/[DB]?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
    
    修改后:jdbc:mysql://[IP]:[PORT]/[DB]?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
    
    

5.3、Sql操作无完整报错提示

  • 解决方法:用其他无问题的同版本数据库的 /usr/share/mysql/english/errmsg.sys

  • 重启数据库

    service mysqld restart;
    

六、备忘

6.1、MySQL默认的数据文件目录:

show variables like 'datadir';
/var/lib/mysql/

6.2、MySQL默认错误日志文件

show variables like 'log_error';
/var/log/mysqld.log

6.3、Mysql配置文件路径

/etc/my.cnf

6.4、Mysql错误信息语言文件

/usr/share/mysql/english/errmsg.sys

6.5、验证binlog是否开启

# 结果log-bin为ON,证明binlog已经开启。
show variables like '%log_bin%'; 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值