linux安装mysql(可用)

linux安装mysql5.7及配置

2018年08月27日 00:15:50 L_px 阅读数 3553

目录

1.需求介绍

2.mysql安装

2.1依赖安装

2.2添加mysql yum respository      

2.3选择要启用的mysql版本

2.4 通过Yum安装mysql

2.5防火墙启动关闭命令

2.6测试是否安装成功

3.远程连接mysql,开启防火墙端口

4.mysql其他问题 

4.1mysql账号设置

4.2更改数据库存放目录

4.3开机启动mysql设置

4.4设置mysql UTF-8编码

5修改MySQL密码


1.需求介绍

  这几天老大又甩个功能,一个星期连做3个功能,确实累成狗,不过也学到新技能,现在回头翻翻笔记,几个钟头能配置完的东西,成长几何倍。因为要做数据库的读写分离功能,所以先介绍下mysql的安装配置,下篇文章mysql读写分离

https://blog.csdn.net/qq_42035966/article/details/82086443

2.mysql安装

     我们先检查本地是否安装mysql

 
  1. #  yum list installed | grep mysql        //检查安装

  2. #  yum -y remove mysql-libs.x86_64        //卸载

  3. //若有多个依赖文件则依次卸载。当结果显示为 Complete!即卸载完毕。

2.1依赖安装

       MySQL依赖libaio,所以先要安装libaio

 
  1. #   yum search libaio    //检索相关信息

  2. #   yum install libaio     //安装依赖包

  3.  
  4. // 成功安装,提示如下:

  5. 已加载插件:

  6. fastestmirror Loading mirror speeds from cached hostfile

  7. * base: mirrors.yun-idc.com

  8. * extras: mirrors.163.com

  9. * updates: mirrors.163.com

  10. 软件包 libaio-0.3.109-12.el7.x86_64 已安装并且是最新版本

     

2.2添加mysql yum respository      

 
  1. #  wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

  2. # yum localinstall mysql-community-release-el7-5.noarch.rpm 

  3.  
  4. //     验证是否添加成功

  5. # yum repolist enabled | grep "mysql.*-community.*" 

  6.  
  7. //     内容如下

  8. mysql-connectors-community/x86_64 MySQL Connectors Community 1

  9. mysql-tools-community/x86_64 MySQL Tools Community 1

  10. mysql56-community/x86_64 MySQL 5.6 Community Server 13

2.3选择要启用的mysql版本

 
  1. #  yum repolist all | grep mysql          //查看mysql版本,执行  

  2.  
  3. //可以看到 5.5, 5.7 版本是默认禁用的,因为现在最新的稳定版是 5.6

  4. mysql-connectors-community/x86_64      MySQL Connectors Community         启用: 14

  5. mysql-connectors-community-source      MySQL Connectors Community - Sourc 禁用

  6. mysql-tools-community/x86_64           MySQL Tools Community              启用: 17

  7. mysql-tools-community-source           MySQL Tools Community - Source     禁用

  8. mysql55-community/x86_64               MySQL 5.5 Community Server         禁用

  9. mysql55-community-source               MySQL 5.5 Community Server - Sourc 禁用

  10. mysql56-community/x86_64               MySQL 5.6 Community Server         启用: 139

  11. mysql56-community-source               MySQL 5.6 Community Server - Sourc 禁用

  12. mysql57-community-dmr/x86_64           MySQL 5.7 Community Server Develop 禁用

  13. mysql57-community-dmr-source           MySQL 5.7 Community Server Develop 禁用

  14.  
  15.  
  16. //可以通过类似下面的语句来启动某些版本

  17. # yum-config-manager --disable mysql56-community yum-config-manager --enable mysql57-community-dmr

  18. //或者通过修改 /etc/yum.repos.d/mysql-community.repo 文件

  19. #  /etc/yum.repos.d/mysql-community.repo 文件

  20.  
  21. //内容如下

  22. # Enable to use MySQL 5.6

  23. [mysql56-community]

  24. name=MySQL 5.6 Community Server

  25. baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/

  26. enabled=1

  27. gpgcheck=1

  28. gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

  29.  
  30. //其中 enabled=0 是指禁用,enabled=1 指启用。

  31.  
  32. //执行,查看当前的启动的 MySQL 版本

  33. #  yum repolist enabled | grep mysql

    注意: 任何时候,只能启用一个版本。

2.4 通过Yum安装mysql

 
  1. #  yum install mysql-community-server 

  2.  
  3. //Yum 会自动处理 MySQL 与其他组件的依赖关系,显示内容如下:

  4. 已加载插件:fastestmirror

  5. Loading mirror speeds from cached hostfile

  6. * base: mirrors.yun-idc.com

  7. * extras: mirrors.163.com

  8. * updates: mirrors.163.com

  9. 正在解决依赖关系

  10. --> 正在检查事务

  11. ---> 软件包 mysql-community-server.x86_64.0.5.6.24-3.el7 将被 安装

  12. ...... ......

  13.  
  14. //中途遇到提示,按照提示安装   

  15. //执行 

  16. # rpm -qi mysql-community-server.x86_64 0:5.6.24-3.el7

  17. # whereis mysql     //可以看到mysql的安装目录是/usr/bin

2.5防火墙启动关闭命令

 
  1. #  systemctl start mysqld    //开启 MySQL Server

  2.  
  3. #  systemctl status mysqld  //查看 MySQL Server 状态

  4.  
  5. #  systemctl stop mysqld    //关闭 MySQL Server

2.6测试是否安装成功

# service mysql start  //启动服务

mysql -uroot -p

3.远程连接mysql,开启防火墙端口

 
  1. //打开 iptables 的配置文件: 

  2. # vim /etc/sysconfig/iptables 

  3. //如果该 iptables 配置文件 不存在,先执行

  4. #  yum install iptables-services //安装。

  5.  
  6. //iptables文件中添加以下内容

  7. firewall-cmd --permanent --zone=public --add-port=3306/tcp

  8. firewall-cmd --permanent --zone=public --add-port=3306/udp

  9.  
  10. //执行

  11. #  firewall-cmd --reload     //重启防火墙,使最新的防火墙设置规则生效。

  12.  
  13. //mysql安全设置,服务器启动后,可以执行 

  14. # mysql_secure_installation;

     

4.mysql其他问题 

4.1mysql账号设置

 
  1. //创建一个普通用户 user ,密码是 user

  2. mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'user';   

  3.  
  4. //给这个用户授予 SELECT,INSERT,UPDATE,DELETE 的远程访问的权限,这个账号一般用于提供给实施的系统访问

  5. mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'user'@'%';

  6.  
  7. //创建一个管理员用户 admin 账号 ,密码是 some_pass

  8. mysql> CREATE USER 'admin'@'%' IDENTIFIED BY 'admin';

  9.  
  10. //给这个用户授予所有的远程访问的权限。这个用户主要用于管理整个数据库、备份、还原等操作。

  11. mysql> GRANT ALL ON *.* TO 'admin'@'%';

  12.  
  13. //使授权立刻生效

  14. mysql> flush privileges;

4.2更改数据库存放目录

 
  1. //home 目录下建立 data 目录

  2. # mkdir /home/data

  3.  
  4. //把 MySQL 服务进程停掉

  5. # systemctl stop mysqld

  6. //或者

  7. # mysqladmin -u root -p shutdown

  8.  
  9. //移动数据到数据存放目录

  10. // /var/lib/mysql 整个目录移到 /home/data,执行

  11. # mv /var/lib/mysql /home/data

  12.  
  13.  
  14. #vim /etc/my.cnf     //修改 /etc/my.cnf 文件

  15. //内容如下

  16. [mysqld]

  17. datadir=/home/data/mysql

  18. socket=/home/data/mysql/mysql.sock

  19.  
  20.  
  21. [mysql]

  22. socket=/home/data/mysql/mysql.sock

  23.  
  24.  
  25. #  chown -R mysql:mysql /home/data/mysql    //修改权限

  26.  
  27. //重启后,如果不能启动 MySQL 服务,执行

  28. #  vim /etc/sysconfig/selinux

  29.     调整SELINUX=permissive

  30. 保存设置,执行 reboot 重启生效

4.3开机启动mysql设置

 
  1. # systemctl is-enabled mysqld.service;echo $?

  2.  
  3.  

  4. //如果是 enabled 则说明是开机自动,如果不是,执行

  5. # chkconfig --levels 235 mysqld on

4.4设置mysql UTF-8编码

 
  1. # vim /etc/my.cnf

  2.  
  3. //修改内容如下

  4. [mysqld]

  5. character_set_server = utf8

  6.  
  7. [mysql]

  8. default-character-set = utf8

  9.  
  10.  
  11.  
  12. //查看当前 MySQL 字符集进入mysql

  13. #mysql> SHOW VARIABLES LIKE 'character%';   

  14.  
  15. #mysql> SHOW VARIABLES LIKE 'character%';

  16.  
  17. +--------------------------+----------------------------+

  18. | Variable_name            | Value                      |

  19. +--------------------------+----------------------------+

  20. | character_set_client     | utf8                       |

  21. | character_set_connection | utf8                       |

  22. | character_set_database   | utf8                     |

  23. | character_set_filesystem | binary                     |

  24. | character_set_results    | utf8                       |

  25. | character_set_server     | utf8                     |

  26. | character_set_system     | utf8                       |

  27. | character_sets_dir       | /usr/share/mysql/charsets/ |

  28. +--------------------------+----------------------------+

  29. 8 rows in set (0.00 sec)

5修改MySQL密码

可以直接登录的小伙伴,直接设置密码即可

mysql>set password for 'root'@'localhost'=password('newpasswd');

 无法直接登录的小伙伴,参考一下步骤

 
  1. //获取MySQL的临时密码, 只有启动过一次mysql才可以查看临时密码

  2. # grep 'temporary password' /var/log/mysqld.log

  3.  
  4.  
  5. //登陆并修改密码

  6. # mysql -uroot -p

  7.  
  8. //修改密码

  9. # ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

  10. //密码设置太简单出现以下的提示

  11. ERROR 1819 (HY000): Your password …

  12.  
  13. //首先,修改validate_password_policy参数的值

  14. mysql> set global validate_password_policy=0;

  15. //再修改密码的长度

  16. mysql> set global validate_password_policy=0;

  17. //再次执行修改密码就可以了

  18. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

  19.  
  20. //授权其他机器登陆

  21. mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

  22. mysql> FLUSH  PRIVILEGES;


本文参考: https://blog.csdn.net/shouldnotappearcalm/article/details/77690574/

如有侵权,请联系小编。

猜你喜欢

转载自blog.csdn.net/qq_41829904/article/details/92092198