2019-11-07 11:24:53 weixin_44037416 阅读数 22
  • Redis分布式集群+高可用方案详解

    介绍: 本课程共8节内容,是从“精讲”课程中抽取出来的专题详解,包括redis集群搭建、集群的扩容、节点移除、槽的重新分配等高可用方案。 友情提示:该视频课程为免费课程,无法再次提供笔记和源码资料,欢迎大家支持我的付费课程,本网搜索"张立坤"讲师即可,谢谢大家支持! 适合人群: 熟悉基本的JAVA开发,熟悉基本的Linux使用命令。 目标: 通过本课程学习,能够熟练掌握redis在Linux环境下的集群部署、扩容、槽分配、节点移除等操作。

    657 人正在学习 去看看 张立坤

Linux服务器安装MySQL

  1. 安装数据库一定是第一步,(CentOS7带有MariaDB而不是MySQL,MariaDB和MySQL一样也是开元的数据库)

    1)查看有没有安装过数据库:

    yum list installed mysql*
    rpm -qa | grep mysql*
    

    2)查看有没有安装包:
    yum list mysql*
    在这里插入图片描述
    移除原来Linux自带数据库,以免影响后续安装
    yum remove mysql-libs
    在这里插入图片描述
    清理数据源

  yum clean dbcache

在这里插入图片描述

3)执行安装命令

(
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
rpm -ivh mysql-community-release-el6-5.noarch.rpm
)

或直接执行安装命令

yum -y install mysql-server

在这里插入图片描述
”Complete” ok 第一步 mysql 安装成功!

在这里插入图片描述

  1. 启动数据库:安装完毕,执行命令
    service mysqld start
    在这里插入图片描述
    看到Starting mysqld: 为 确认/ok状态,代表mysql数据库启动成功。

  2. 登录数据库:

mysql -u root -p
回车后输入密码(mysql的默认用户root默认密码为空)
在这里插入图片描述
4. 使用数据库:登录成功切换到mysql数据库,
输入 use mysql
在这里插入图片描述
5. 新建用户

1)新建用户远程连接mysql数据库:允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。【注】admin账户不一定要存在。

```
grant all on *.* to admin@'%' identified by '123456' with grant option; 
flush privileges;
```

在这里插入图片描述
2)支持root用户允许远程连接mysql数据库
新建root用户,并给此用户赋予数据库和及所有对象的操作权限(这个赋权语句的 % 代表之间任意主机连接到 mysql服务器,这样的话 navicat这个客户肯定没有问题):

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

Flush privileges;

在这里插入图片描述
在这里插入图片描述
6. 查看系统用户

use mysql;
 select user, host from user;

在这里插入图片描述
7.退出命令是:Ctrl-C ---------- exit!
8.设置mysql开机自启动 (使用vi 编辑/etc/rc.local)

vi /etc/rc.local

在文件末尾加上 service mysqld start
在这里插入图片描述
ok!数据库部分安装至此已是结束,接下来开始准备安装蝉道!
问题基本不是很大,如果出现其他bug,可以在网上找找,我这没出现问题,也不知道大家的问题会是什么!欢迎留言评论大家一起探讨!

2018-10-28 13:19:34 Airch7 阅读数 84
  • Redis分布式集群+高可用方案详解

    介绍: 本课程共8节内容,是从“精讲”课程中抽取出来的专题详解,包括redis集群搭建、集群的扩容、节点移除、槽的重新分配等高可用方案。 友情提示:该视频课程为免费课程,无法再次提供笔记和源码资料,欢迎大家支持我的付费课程,本网搜索"张立坤"讲师即可,谢谢大家支持! 适合人群: 熟悉基本的JAVA开发,熟悉基本的Linux使用命令。 目标: 通过本课程学习,能够熟练掌握redis在Linux环境下的集群部署、扩容、槽分配、节点移除等操作。

    657 人正在学习 去看看 张立坤

1 linux下安装MySQL

rpm安装方式。

1.1 mysql rpm包下载

  • 首先下载rpm安装包, mysql下载地址,找到你想要的版本
    MySQL-5.7/
    mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar

1.2 移除已经安装的早期版本

  1. 使用以下命令查看当前安装mysql情况,查找以前是否装有mysql
    rpm -qa | grep -i mysql 
    
  2. 如果有查询结果,则说明之前安装了,如:
    MySQL-client-5.5.25a-1.rhel5
    MySQL-server-5.5.25a-1.rhel5
  3. 停止mysql服务、删除之前安装的mysql
    删除命令:
    rpm -e –nodeps 包名
    如: rpm -e –nodeps MySQL-client-5.5.25a-1.rhel5
    
    如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1,可尝试一下命令:
    rpm -e --noscripts MySQL-client-5.5.25a-1.rhel5
    
  4. 查找之前mysql的目录、并删除
    find / -name mysql
    rm -rf /var/lib/mysql
    
    注意:卸载后/etc/my.cnf不会删除,需要进行手工删除.
    rm -rf /etc/my.cnf
    
  5. 再次查找机器是否安装mysql,如果查询无结果,说明已经卸载彻底,接下来直接安装mysql即可。

1.3 linux mysql安装

  • 创建用户和组(如果已经创建则跳过)

    groupadd mysql 
    useradd -r -g mysql mysql 
    
  • 解压,得到几个压缩文件,如:
    mysql-devel 开发用到的库以及包含文件,
    mysql mysql 客户端,
    mysql-server 数据库服务器,

    tar -xvf mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar
    
  • 依次安装
    rpm -ivh mysql-community-common-5.7.23-1.el6.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.23-1.el6.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.23-1.el6.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm

    rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm
    

    至此,mysql已经安装完成。
    上面几个包有依赖关系,执行有先后。

    使用rpm安装方式安装mysql,安装的路径如下:

    a 数据库目录
    /var/lib/mysql/
    b 配置文件
    /usr/share/mysql(mysql.server命令及配置文件)
    c 相关命令
    /usr/bin(mysqladmin mysqldump等命令)
    d 启动脚本
    /etc/rc.d/init.d/(启动脚本文件mysql的目录)

    e /etc/my.conf

  • 修改密码
    安装完后,使用命令service mysqld start启动MySQL服务。

    由于MySQL5.7.4之前的版本中默认是没有密码的,登录后直接回车就可以进入数据库,进而进行设置密码等操作。其后版本对密码等安全相关操作进行了一些改变,在安装过程中,会在安装日志中生成一个随机密码。

    查看临时密码:

    grep 'temporary password' /var/log/mysqld.log
    2018-10-28T16:43:10.889769Z 1 [Note] A temporary password is generated for root@localhost:hcLMTxbOh2?w
    

    这样我们得知临时密码是:hcLMTxbOh2?w。
    此时,使用MySQL生成的随机密码就能够正常登录:

    mysql -uroot -p hcLMTxbOh2?w
    

    登录成功后,请立即修改密码。

    如果没有修改密码,系统将会提示错误:在"ALTER USER"操作前不会执行其他操作;并且确保修改之后的密码的安全程度能够满足MySQL的要求。推荐数字、字母和特殊符号混用。

    执行以下操作配置root用户的密码与授权:

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '111111'; 
    mysql> grant all privileges on *.* to 'root' @'%' identified by 111111; 
    mysql> flush privileges;
    

1.4 安装过程出现的问题:

  • 其他设备在客户端中打开表的速度非常慢(无论表的大小),甚至连接超时,但是直接登录到服务器在本地连接MySQL,速度则正常。

    问题原因:MySQL数据库收到一个网络连接后,首先拿到对方的IP地址,然后对这个IP地址进行反向DNS解析从而得到这个IP地址对应的主机名。用主机名在权限系统里面进行权限判断。反向DNS解析是耗费时间的,有可能让用户感觉起来很慢。甚至有的时候,反向解析出来的主机名并没有指向这个IP地址,这时候就无法连接成功了。

    解决方案:为了避免这个反查过程,可以在MySQL的配置文件my.cnf的[mysqld]项下追加以下配置:

    skip-name-resolve
    

2 yum安装mysql

需要Linux能联外网,或者配置本地yum源。

  • 安装mysql
[root@node01 /]# yum install -y mysql-server
  • 启动
[root@node01 /]# service mysqld start
  • 登陆,修改权限
    这种方式安装的mysql初始密码为空,因此初次登陆时只需输入mysql即可,然后再修改相应权限。
[root@node01 /]# mysql

mysql>
mysql> use mysql;
mysql> select user,password,host from user;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;
mysql> select user,password,host from user;
mysql> delete from user where password ='';

mysql> flush privileges;

3 MySQL主从复制

IP 角色
192.168.33.3 master
192.168.33.4 slave

3.1 master配置(192.168.33.3)

  1. master上开启binlog日志
    一般mysql配置文件在目录/etc下,叫my.cnf (如果找不到的话也有可能在这些目录下:/etc/my.cnf,/etc/mysql/my.cnf,/usr/local/mysql/etc/my.cnf)

    1、vim /etc/my.cnf
    
    2、在[mysqld]下加入:
    port=3306
    server-id=1 #服务器id (主从必须不一样)
    log-bin=mysql-bin #打开日志(主机需要打开),这个mysql-bin也可以自定义,这里也可以加上路径#作为主机的配置
    binlog-do-db=employees #要给从机同步的库#
    binlog-do-db=binlog-ignore-db=mysql #不给从机同步的库(多个写多行)
    binlog-ignore-db=information_schema
    binlog-ignore-db=performance_schemab
    inlog-ignore-db=sys
    expire_logs_days=7 #自动清理 7 天前的log文件,可根据需要修改
    3、重启数据库
    service mysqld restart
    

    登陆后测试log_bin是否成功开启:
    mysql> show variables like '%log_bin%';
    如果列表里的 log_bin 值为 on 说明已开启mysql二进制日志。

  2. 创建用户,每一个从服务器都需要用到一个账户名和密码来连接主服务器,可以为每一个从服务器都创建一个账户,也可以让全部服务器使用同一个账户。下面就为同一个ip网段的所有从服务器创建一个只能进行主从同步的账户。
    首先登陆mysql,然后创建一个用户名为rep,密码为123456的账户,该账户可以被192.168.253网段下的所有ip地址使用,且该账户只能进行主从同步。

    mysql> create user 'rep'@'192.168.33.%' identified by '111111';
    mysql> grant replication slave on *.* to 'rep'@'192.168.33.%' ;
    

    授权时如果报错“Access denied”,可root用户有没有授权权限。
    mysql> select host,user,grant_priv,Super_priv from mysql.user;
    ±----------±---------±-----------±-----------+
    | host | user | grant_priv | Super_priv |
    ±----------±---------±-----------±-----------+
    | 127.0.0.1 | root | Y | Y |
    | localhost | root | N | Y |
    | 10.0.3.% | repluser | N | N |
    ±----------±---------±-----------±-----------+
    可以看到localhost的grant_priv的值为N,也就是说root用户不能授权给其他用户,所以我们需要把这个值改为Y。
    mysql> update mysql.user set grant_priv=‘Y’ where host=‘localhost’;
    mysql> flush privileges;
    改完之后最好重启一下服务器(我没重启还是会报那个错)。

  3. 查看主服务器上当前的二进制日志名

    mysql> show master status\G #
        File: mysql-bin.000003
    Position: 154
    

    这里的file 和position 要和slave上的一致,在下面配置slave时需要用到。

3.2 slave配置(192.168.33.4)

  1. vim /etc/my.cnf

    [mysqld]
    port=3306
    server_id=4  #不能与其他mysql服务器重复
    
    #加上以下参数可以避免更新不及时,SLAVE 重启后导致的主从复制出错。
    read_only = 1
    master_info_repository=TABLE
    relay_log_info_repository=TABLE
    #relay_log_recovery=1 #从机禁止写
    #super_read_only=1 #从机禁止写
    
  2. 重启mysql服务,登录slave数据库,并做如下设置:

    mysql> stop slave;
    mysql> change master to
    -> master_host='192.168.33.3',   #master的ip
    -> master_user='rep',   #备份用户名
    -> master_password='111111',   #密码
    -> master_log_file='mysql-bin.000003',   #要与master的参数一致
    -> master_log_pos=154;   #要与master的参数一致
    mysql> start slave;
    
  3. 查看slave从机的状态:

    mysql> show slave status \G
    

    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    如上2个yes 代表设置成功。

2017-11-14 21:55:44 LCRxxoo 阅读数 581
  • Redis分布式集群+高可用方案详解

    介绍: 本课程共8节内容,是从“精讲”课程中抽取出来的专题详解,包括redis集群搭建、集群的扩容、节点移除、槽的重新分配等高可用方案。 友情提示:该视频课程为免费课程,无法再次提供笔记和源码资料,欢迎大家支持我的付费课程,本网搜索"张立坤"讲师即可,谢谢大家支持! 适合人群: 熟悉基本的JAVA开发,熟悉基本的Linux使用命令。 目标: 通过本课程学习,能够熟练掌握redis在Linux环境下的集群部署、扩容、槽分配、节点移除等操作。

    657 人正在学习 去看看 张立坤

svn 批量移除版本控制 可以在windows上 连接linux的svn然后用windows上的svn批量删除


svn版本库的名字最好要跟项目的最顶级文件名字匹配

2019-11-08 11:54:30 nanfang1012 阅读数 12
  • Redis分布式集群+高可用方案详解

    介绍: 本课程共8节内容,是从“精讲”课程中抽取出来的专题详解,包括redis集群搭建、集群的扩容、节点移除、槽的重新分配等高可用方案。 友情提示:该视频课程为免费课程,无法再次提供笔记和源码资料,欢迎大家支持我的付费课程,本网搜索"张立坤"讲师即可,谢谢大家支持! 适合人群: 熟悉基本的JAVA开发,熟悉基本的Linux使用命令。 目标: 通过本课程学习,能够熟练掌握redis在Linux环境下的集群部署、扩容、槽分配、节点移除等操作。

    657 人正在学习 去看看 张立坤

作者: didi516

转载:https://www.cnblogs.com/DiDi516/p/11788309.html

linux mysql 安装步骤

CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用MariaDB代替了,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替

  • 卸载centos7自带的MariaDB

[root@VM_0_9_centos ~]# yum list installed | grep mariadb #检查mariadb是否已安装
Repository epel is listed more than once in the configuration
mariadb-libs.x86_64                   1:5.5.52-1.el7                 @anaconda  

[root@VM_0_9_centos ~]# yum -y remove mariadb*   #全部卸载
Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Resolving Dependencies
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.52-1.el7 will be erased
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
--> Running transaction check
---> Package postfix.x86_64 2:2.10.1-6.el7 will be erased
--> Finished Dependency Resolution
##########################省略中间部分####################
Removed:
  mariadb-libs.x86_64 1:5.5.52-1.el7     

Dependency Removed:
  postfix.x86_64 2:2.10.1-6.el7                                                                                                                                                                                     
Complete!
  • 下载并安装mysql的YUM源

    • 下载mysql的yum源
    wget -P /home/ntsyai http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
     
    • 安装mysql的YUM源
    rpm -ivh mysql57-community-release-el7-11.noarch.rpm
    [root@VM_0_9_centos home]# rpm -ivh mysql57-community-release-el7-11.noarch.rpm
    warning: mysql57-community-release-el7-11.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
    1:mysql57-community-release-el7-11 ################################# [100%]
     
    • 检查mysql的YUM源是否安装成功
    yum repolist enabled | grep "mysql.*-community.*" 
    [root@VM_0_9_centos home]# yum repolist enabled | grep "mysql.*-community.*" 
    Repository epel is listed more than once in the configuration
    mysql-connectors-community/x86_64 MySQL Connectors Community                 131
    mysql-tools-community/x86_64      MySQL Tools Community                      100
    mysql57-community/x86_64          MySQL 5.7 Community Server                 384
     

    看到上图所示表示安装成功

    • 查看mysql版本
    yum repolist all | grep mysql
    [root@VM_0_9_centos home]# yum repolist all | grep mysql
    Repository epel is listed more than once in the configuration
    mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community   disabled
    mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - disabled
    mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community   disabled
    mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - disabled
    mysql-connectors-community/x86_64  MySQL Connectors Community    enabled:    131
    mysql-connectors-community-source  MySQL Connectors Community -  disabled
    mysql-tools-community/x86_64       MySQL Tools Community         enabled:    100
    mysql-tools-community-source       MySQL Tools Community - Sourc disabled
    mysql-tools-preview/x86_64         MySQL Tools Preview           disabled
    mysql-tools-preview-source         MySQL Tools Preview - Source  disabled
    mysql55-community/x86_64           MySQL 5.5 Community Server    disabled
    mysql55-community-source           MySQL 5.5 Community Server -  disabled
    mysql56-community/x86_64           MySQL 5.6 Community Server    disabled
    mysql56-community-source           MySQL 5.6 Community Server -  disabled
    mysql57-community/x86_64           MySQL 5.7 Community Server    enabled:    384
    mysql57-community-source           MySQL 5.7 Community Server -  disabled
    mysql80-community/x86_64           MySQL 8.0 Community Server    disabled
    mysql80-community-source           MySQL 8.0 Community Server -  disabled
     

    可以看到,默认5.7是启用的版本。可以通过类似下面的语句来启动或禁用某些版本

    yum-config-manager --enable mysql57-community
    yum-config-manager --disable mysql56-community

     

    或者通过修改vim /etc/yum.repos.d/mysql-community.repo文件,改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0,然后再将5.6源的enabled=0改成enabled=1即可 。

    注意,任何时候,只能启用一个版本 。查看当前的启用的 MySQL 版本

    yum repolist enabled | grep mysql
    [root@VM_0_9_centos home]# yum repolist enabled | grep mysql
    Repository epel is listed more than once in the configuration
    mysql-connectors-community/x86_64 MySQL Connectors Community                 131
    mysql-tools-community/x86_64      MySQL Tools Community                      100
    mysql57-community/x86_64          MySQL 5.7 Community Server                 384

     

  • 安装mysql

    安装过程中一直输入"y"就可以了,当出现下面的结果时,就代表mysql数据库安装成功

    yum install mysql-community-server

     

  • 启动mysql服务

    systemctl start mysqld
  • 进入mysql命令行

    [root@VM_0_9_centos ~]# mysql 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
     

    出现上述错误,说明mysql安装完后给root用户生成了一个默认密码,所以你需要使用密码登录。

    为了加强安全性,MySQL5.7为root用户随机生成了一个密码,如果安装的是RPM包,则默认是在/var/log/mysqld.log中。

    [root@VM_0_9_centos ~]# grep 'temporary password' /var/log/mysqld.log 
    2019-11-04T06:34:15.567040Z 1 [Note] A temporary password is generated for root@localhost: NsRSsti#+7Vw
     

    密码为NsRSsti#+7Vw

    [root@VM_0_9_centos ~]# mysql -uroot -pNsRSsti#+7Vw
    mysql: [Warning] Using a password on the command line interface can be insecure.
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 4
    Server version: 5.7.28
    
    Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> 
     

    出现上述提示,则表示登录成功!

    接下来执行

    use mysq

    能会出现如下错误

    mysql> use mysql
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
     

    因此,在使用前就必须修改密码

  • 修改mysql密码

    alter user 'root'@'localhost' identified by '123456';
    # mysqladmin -u root password 'Root123456' 
    #set password for 'root'@'localhost' = password('123456');
     

    可能出现如下问题

    mysql>alter user 'root'@'localhost' identified by 'Root123456';
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
     

    这是由于设置的密码不符合当前的密码策略,两种处理方式:1.设置符合当前密码策略的复杂密码;2.修改策略,依然使用弱密码(自己玩的话就没啥所谓)

    这里就以方式2为例:

    密码策略主要跟 validate_password_policy 取值有关,默认取值为MEDIUM,

    密码长度主要跟validate_password_length取值有关,默认值为8

    更改两个策略,1是允许弱密码,2是更改默认的密码长度

    set global validate_password_policy=LOW;
    set global validate_password_length=6; #最小值为4,设置小于4也会被重置为4
    mysql> set global validate_password_policy=LOW;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> set global validate_password_length=6;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SHOW VARIABLES LIKE 'validate_password%' #查看密码策略
     

    策略更改成功,继续修改密码

    mysql> alter user 'root'@'localhost' identified by 'Root123456';
    Query OK, 0 rows affected (0.00 sec)
     

    如上,修改密码成功!

  • 修改数据库字符集,默认latinl

    mysql> SHOW VARIABLES LIKE 'character%'
     

    默认服务器的字符器是 latin1 ,对中文不友好。修改 /etc/my.cnf 文件,添加字符集的设置

    [root@VM_0_9_centos ~]# vim  /etc/my.cnf 
    
    [mysql]
    default-character-set=utf8 # 添加部分
    
    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
    
    [mysqld]
    character_set_server=utf8 # 添加部分
    #
    # Remove leading # and set to the amount of RAM for the most important data
    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    # innodb_buffer_pool_size = 128M
    #
    # Remove leading # to turn on a very important data integrity option: logging
    # changes to the binary log between backups.
    # log_bin
    #
    # Remove leading # to set options mainly useful for reporting servers.
    # The server defaults are faster for transactions and fast SELECTs.
    # Adjust sizes as needed, experiment to find the optimal values.
    # join_buffer_size = 128M
    # sort_buffer_size = 2M
    # read_rnd_buffer_size = 2M
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
     

    修改完成后,重启mysql,

    systemctl restart mysqld

    如上,更改成功!

  • 需要开启远程访问(参考)

    • 防火墙设置
    #远程访问 MySQL, 需开放默认端口号 3306
    firewall-cmd --permanent --zone=public --add-port=3306/tcp
    firewall-cmd --permanent --zone=public --add-port=3306/udp
    
    firewall-cmd --reload #使最新的防火墙设置规则生效
     
    • 创建用户并授予权限

    创建一个普通用户 sa ,密码是123456;给这个用户授予 SELECT,INSERT,UPDATE,DELETE 的远程访问的权限,这个账号一般用于提供给实施的系统访问

    CREATE USER 'sa'@'%' IDENTIFIED BY '123456'; 
    GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'sa'@'%'; 
     

    创建一个管理员用户 admin 账号 ,密码是 123456 ;给这个用户授予所有的远程访问的权限。这个用户主要用于管理整个数据库、备份、还原等操作

    CREATE USER 'admin'@'%' IDENTIFIED BY '123456'; 
    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%'; 
    • 设置用户 root 的访问权限
    #可以在任意 IP 下被访问
    grant all privileges on *.* to root@"%" identified by "密码";
    #如果上述执行完并flush privileges还是不生效,可以换成以下方式
    update user set host='%' where user='root'
    
    #设置用户 root 可以在本地被访问
    grant all privileges on *.* to root@"localhost" identified by "密码";
    • 使授权立刻生效(以上授权操作最好都附加上该语句
    flush privileges;
  • 常用命令

    systemctl start mysqld  #启动mysqld
    systemctl stop mysqld  #停止mysqld
    systemctl restart mysqld  #重启mysqld
    systemctl enable mysqld  #设置开机启动
    systemctl status mysqld  #查看 MySQL Server 状态

参考

  • https://blog.csdn.net/lihaiyong92/article/details/81330046 (安装部分)
  • https://www.cnblogs.com/huangxinyuan650/p/6360464.html(安装部分)
  • https://blog.csdn.net/qq_32786873/article/details/80664160 (密码设置)
  • https://blog.csdn.net/hello_world_qwp/article/details/79551789 (密码策略)
  • https://blog.csdn.net/memory6364/article/details/82426052 (密码策略)

 

2020-02-17 21:04:43 weixin_46162146 阅读数 9
  • Redis分布式集群+高可用方案详解

    介绍: 本课程共8节内容,是从“精讲”课程中抽取出来的专题详解,包括redis集群搭建、集群的扩容、节点移除、槽的重新分配等高可用方案。 友情提示:该视频课程为免费课程,无法再次提供笔记和源码资料,欢迎大家支持我的付费课程,本网搜索"张立坤"讲师即可,谢谢大家支持! 适合人群: 熟悉基本的JAVA开发,熟悉基本的Linux使用命令。 目标: 通过本课程学习,能够熟练掌握redis在Linux环境下的集群部署、扩容、槽分配、节点移除等操作。

    657 人正在学习 去看看 张立坤

安装mysql

但是MySQL数据库软件从默认的程序列表中移除,用mariadb代替了,Linux配置教程上,大多都是安装mariadb,因为centos7默认将mariadb视作mysql,所有要按照mysql需要下载
安装前先检查链接库文件有没有安装使用 命令进行核查

[root@localhost ~]# rpm -qa | grep libaio
[root@localhost ~]#

运行命令后发现系统中无该链接库文件
安装相关软件包

[root@localhost ~]# yum -y install libaio-devel.x86_64
[root@localhost ~]# yum -y install numactl

检查是否有maradb,如果有就卸载

root@localhost ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.35-3.el7.x86_64
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
[root@localhost ~]# rpm -qa | grep mariadb

检查mysql用户组和用户是否存在,如果没有,则创建

[root@localhost ~]# cat /etc/group | grep mysql
[root@localhost ~]# cat /etc/passwd |grep mysql
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql mysql

从官网下载是用于Linux的Mysql安装包

[root@localhost ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

在执行wget命令的目录下或你的上传目录下找到Mysql安装包:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
执行解压命令:

[root@localhost ~]# tar -xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
[root@localhost ~]# ls
anaconda-ks.cfg                      mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
mysql-5.7.24-linux-glibc2.12-x86_64

解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/下,并将文件夹名称修改为mysql。
如果/usr/local/下已经存在mysql,请将已存在mysql文件修改为其他名称,否则后续步骤可能无法正确进行

[root@localhost ~]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv mysql-5.7.24-linux-glibc2.12-x86_64/ mysql

在/usr/local/mysql目录下创建data目录

[root@localhost local]# mkdir /usr/local/mysql/data

更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

[root@localhost local]# chown mysql:mysql /usr/local/mysql/
[root@localhost local]# chmod 755 /usr/local/mysql/

编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)记录日志最末尾位置root@localhost:后的字符串,此字符串为mysql管理员临时登录密码

[root@localhost local]# cd /usr/local/mysql/bin/
[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

在这里插入图片描述编辑配置文件my.cnf,添加配置如下

[root@localhost bin]# vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
sysbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_name=1

启动mysql服务器

[root@localhost /]# /usr/local/mysql/support-files/mysql.server start

注:如果报错,查看是否存在mysql和mysqld的服务,如果存在,则结束进程,添加软连接,并重启mysql服务

[root@localhost bin]# ps -ef|grep mysqlps -ef|grep mysqld
[root@localhost bin]# ps -ef|grep mysqld
[root@localhost bin]# kill -9
[root@localhost bin]# ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@localhost bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@localhost bin]# service mysql restart

登录mysql,修改密码(密码为步骤5生成的临时密码)

[root@localhost bin]# mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('yourpass');
Query OK, 0 rows affected, 1 warning (0.00 sec)

开放远程连接

mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;

在这里插入图片描述
设置开机自动启动

1、将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
[root@localhost /]# chmod +x /etc/init.d/mysqld
3、添加服务
[root@localhost /]# chkconfig --add mysqld
4、显示服务列表
[root@localhost /]# chkconfig --list

Linux快速安装MySql

阅读数 1408

没有更多推荐了,返回首页