图片 4

【Linux】CentOS 7下yum成功安装 MySQL 5.7

在上一篇文章中
四·安装mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz(基于Centos7源码安装) 已经安装好了mysql,也正常启动了。本篇文章主要内容是管理mysql

第一部分:CentOS 7安装MySQL 5.7

1.服务器端登录mysql

1.下载YUM库

   使用./mysqld
–user=mysql的方式虽然可以启动服务器,但是在登录mysql的时候却出现了问题“ ERROR
1045 (28000): Access denied for user ‘mysql’@’localhost’ (using
password: NO)}”

shell > wget

   网上也有很多的方法,但是都没有解决我的问题,搜索一篇文章  MySQL
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using
password:
NO)的真正原因 中提到了解决办法,

2.安装YUM库

   再次感谢“潇湘隐者”

shell > yum localinstall -y
mysql57-community-release-el7-7.noarch.rpm

 
 在/root/.mysql_secret文件中存储中初次安装mysql的时候,系统随机创建的密码,使用密码登录之后,系统中会有提示修改密码,如下: 

3.安装数据库

 
  图片 1

shell > yum install -y mysql-community-server

 2.修改mysql的字符集

4.启动MySQL服务

     在上一篇的mysql安装中的是修改过/etc/my.cnf,本次修改主要是字符集。
字符集的修改最好是在完成安装后立即开始。如果在数据库创建阶段没有正确选择字符集,那么可能在后期需要更换字符集,而字符集的
   
 更换是代价比较高的操作,也存在一定的风险,所以推荐在应用开始阶段,就按照需求正确的选择合适的字符集,避免后期不必要的调整。

shell > systemctl start mysqld.service

     mysql 的字符集和校对规则有4
个级别的默认设置:服务器级、数据库级、表级和字段级。分别在不同的地方设置,作用也不相同。如果没有特别的指定服务器字符集,默认使用latin1
作为服务器字符集

5.默认空密码(注:楼主安装的就不是默认空密码!!!!!)

   
 笔者选择了utf-8编码,具体修改如下

shell > mysql -uroot -p

[mysqld]
character-set-server=utf8

(安装完毕后,在  /var/log/mysqld.log
文件中会自动生成一个随机的密码,我们需要先取得这个随机密码,以用于登录
MySQL 服务端:
grep “password”
/var/log/mysqld.log
打印如下内容:
A temporary password is generated
for root@localhost:
hilX0U!9i3_6
我们复制 root@localhost:
后面的随机字符串,这个字符串就是 MySQL
在安装完成后为我们随机生成的密码;)

3.修改mysql大小写敏感设置

6.重置root密码后重启mysql服务

    属性lower_case_table_names=1 为不区分大小写,0代表区分大小写

shell > update mysql.user set
authentication_string=password(“yourpassword”) where user=”root” and
Host=”localhost”;

 
  图片 2

shell > flush privileges;

4.mysql日志管理

shell > quit;

   1)错误日志

shell > systemctl restart mysqld;

     
在my.cnf文件的log-error指定了错误日志的位置。如果没有指定,mysql使用错误日志名host_name.err
并在数据目录中记录错误日志

如果手贱或者不知道啥原因出现如下问题:

   2)BINLOG

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using
password: NO)

     
二进制日志包括所有更新了数据或者已经潜在更新了数据的所有语句,且以事件的形式存在,用以描述数据更改文件位置和格式,在my.cnf中添加mysql-bin,详细描述MySQL用户授权 和 bin-log日志
详解和实战

请修改my.cnf,添加skip-grant-tables和skip-networking:

   
 图片 3

shell > vi /etc/my.cnf

5.数据备份

[mysqld]

  1).

skip-grant-tables

      

skip-networking

   

重启mysql,然后重复以上修改密码步骤即可,记得修改完后,去掉my.cnf添加的两行。

第二部分:配置

1、添加远程登录用户(登入Mysql)

use mysql;

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘你的密码’
WITH GRANT OPTION;

注:’%’代表任意地址,也可以指定IP

2、检查用户表,刷新内存权限

select host, user from user;

FLUSH PRIVILEGES;

图片 4

 

3、设置防火墙(CentOS7 不推荐)

vi /etc/sysconfig/iptables