记录生活中的点点滴滴

0%

CentOS7安装mysql

CentOS 7安装mysql

删除系统自带的mysql

CentOS里面会默认带有mysql相关的rpm包,我们先得把它卸载掉。

我们首先要把自带的mysql删除掉,先查看rpm -qa | grep mariadb

再卸载rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

下载mysql相关依赖

1
2
3
[root@iZbp1b44670a4o3ks27kznZ /]# yum install libaio
[root@iZbp1b44670a4o3ks27kznZ /]# yum install perl
[root@iZbp1b44670a4o3ks27kznZ /]# yum install net-tools

下载linux版本的mysql并安装

进入官网下载mysql的tar包,按如下选择下载这个tar包。

或者直接 百度云连链接

在系统的/usr/local/文件夹下面新建一个mysql文件夹,将下载好的这个tar包放在mysql文件夹里面

解压tar包:tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

安装mysql:

1
2
3
4
[root@iZbp1b44670a4o3ks27kznZ mysql]# rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
[root@iZbp1b44670a4o3ks27kznZ mysql]# rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
[root@iZbp1b44670a4o3ks27kznZ mysql]# rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm
[root@iZbp1b44670a4o3ks27kznZ mysql]# rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm

查看是否全部安装完成

输入命令:rpm -qa |grep mysql

完成对 mysql 数据库的初始化

  1. 输入初始化命令:mysqld --initialize

  2. 输入权限设置命令

    1
    chown mysql:mysql -R /var/lib/mysql
  3. 输入初始化命令:mysqld --initialize

  4. 启动Mysql:systemctl start mysqld

  5. 设置开机自启动:systemctl enable mysqld

  6. 查看 MySQL 运行状态:systemctl status mysqld

安装完成后的配置

修改密码

先得借助临时密码登录到mysql里面并修改密码。

1
2
3
[root@iZbp1b44670a4o3ks27kznZ mysql]# grep password /var/log/mysqld.log # 查看临时密码
[root@iZbp1b44670a4o3ks27kznZ mysql]# mysql -uroot -p # 登录mysql
mysql> set password = password("abc_123456"); # 修改密码

如果设置密码产生提示设置的密码不符合规则的话,可能原因是我们设置的太简单了。

我们当然也可以自己设置规则,查看规则:SHOW VARIABLES LIKE 'validate_password%';

通过set global xxx=xxx;来设置属性,比入默认密码需要包含至少一位特殊字符,通过命令set global validate_password_special_char_count=0;设置为可以不包含特殊字符。

以下为这些参数的解释:

  1. validate_password_length 固定密码的总长度;

  2. validate_password_dictionary_file 指定密码验证的文件路径;

  3. validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;

  4. validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;

  5. validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;

  6. validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

4.2 开启远程连接,允许远程连接数据库
1
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密码' WITH GRANT OPTION;
记着把root的密码输入进去,这样之后还需要把防火墙关闭掉:
1
[root@iZbp1b44670a4o3ks27kznZ ~]# systemctl stop firewalld
服务器还需要在配置安全组那里把3306端口开一下,这样之后,用远程连接工具才能连接到我们的mysql。
4.4 配置mysql的配置文件my.cnf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 打开配置文件my.cnf
[root@localhost src]# vim /etc/my.cnf
# 在[mysqld]下面配置几行 :
lower_case_table_names=1 #配置表名不区分大小写 1:不区分大小写 0:区分大小写 这行必须配置 默认表名是区分大小写的,不利于开发

character-set-server=utf8 #设置为默认编码为utf8

init_connect='SET NAMES utf8'

max_connections=1024 #设置最大连接数

# 重启mysql 重启配置才能生效

[root@localhost src]# service mysqld restart

完结!