当前位置:   article > 正文

linux安装mysql 5.7、8_linux 安装mysql5.8

linux 安装mysql5.8

一、关闭防火墙

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld 

开机禁用  : systemctl disable firewalld

开机启用  : systemctl enable firewalld

二、关闭selinux

vi /etc/selinux/config

# SELINUX=enforcing     # 注释掉
# SELINUXTYPE=targeted  #注释掉
 SELINUX=disabled 

 执行

setenforce 0

三、卸载Mariadb、mysql历史残留

3.1 卸载mariadb数据库:

[root@localhost mysql]# rpm -qa | grep mariadb

[root@localhost mysql]#rpm ---nodeps  mariadb文件名

3.2 mysql软件删除

[root@localhost mysql]# rpm -qa | grep mysql

[root@localhost mysql]rpm -e --nodeps  【上面这些rpm软件】

3.3 mysql文件及路径删除

[root@localhost mysql]# find / -name mysql

[root@localhost mysql]#rm -rf  【上图的路径】

3.4 mysql8的修改配置文件

生成配置文件内容

老叶出品,方便可靠的MySQL my.cnf配置文件生成工具 (imysql.cn)

修改配置文件内容(可以把原文本内容全部删除,再粘贴)

vi /etc/my.cnf

##注意以后要用authentication_policy=caching_sha2_password

  1. [mysqld]
  2. user=mysql
  3. # 设置3306端口
  4. port=3306
  5. # 请不要设置mysql的安装目录!!!!!
  6. # !!如果是docker不要修改下面的路径
  7. datadir=/var/lib/mysql
  8. #socket设置!别忘了权限
  9. socket=/var/lib/mysql.sock
  10. # 允许最大连接数
  11. max_connections=1000
  12. # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
  13. max_connect_errors=100
  14. # 服务端使用的字符集默认为UTF8
  15. character-set-server=utf8mb4
  16. # 创建新表时将使用的默认存储引擎
  17. default-storage-engine=INNODB
  18. # 默认使用“caching_sha2_password”插件认证
  19. #是否对sql语句大小写敏感,1表示不敏感
  20. lower_case_table_names = 1
  21. #MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
  22. #MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
  23. interactive_timeout = 1800
  24. wait_timeout = 1800
  25. #Metadata Lock最大时长(秒), 一般用于控制 alter操作的最大时长sine mysql5.6
  26. #执行 DML操作时除了增加innodb事务锁外还增加Metadata Lock,其他alter(DDL)session将阻塞
  27. lock_wait_timeout = 3600
  28. #内部内存临时表的最大值。
  29. #比如大数据量的group by ,order by时可能用到临时表,
  30. #超过了这个值将写入磁盘,系统IO压力增大
  31. tmp_table_size = 64M
  32. max_heap_table_size = 64M
  33. [mysql]
  34. #socket设置
  35. socket=/var/lib/mysql.sock
  36. # 设置mysql客户端默认字符集
  37. default-character-set=utf8mb4
  38. [client]
  39. # 设置mysql客户端连接服务端时默认使用的端口
  40. port=3306
  41. #socket设置
  42. socket=/var/lib/mysql.sock
  43. default-character-set=utf8mb4
  44. [mysqldump]
  45. #socket设置
  46. socket=/var/lib/mysql.sock
  47. [mysqladmin]
  48. #socket设置
  49. socket=/var/lib/mysql.sock

mkdir -p /data/mysql

、下载下述rpm文件

MySQL :: Download MySQL Community Server

mysql7 是6个文件

mysql-community-client-****.rpm --(依赖于libs)

mysql-community-common-****.rpm (MySQL配置)

mysql-community-devel-****.rpm(开发库)

mysql-community-libs-****.rpm (兼容库,依赖于common)

mysql-community-libs-compat-****.rpm

mysql-community-server-****.rpm --(依赖于client、common)

mysql8 是 7或8个文件(RHEL8是7个,centos7是8个)

放到/opt下面

  1. cd /opt
  2. ## 请提前创建好 mkdir -p /data/mysql
  3. yum install  *.rpm
  4. chown -R mysql:mysql /data/mysql
  5. ##socket文件权限
  6. chown -R mysql:mysql /var/lib

初始化

mysqld --initialize --console


chown -R mysql:mysql /data/mysql

##socket文件权限

chown -R mysql:mysql /var/lib

 
五、重启服务

1核CPU,等待5分钟后!!!

重启mysql服务

systemctl restart mysqld

六、第一次登录,并修改密码

mysql -u root -p       使用命令行连接mysql数据库

use mysql;         切换到mysql数据库

  1. ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
  2. #或者update user set password=password("123456") where user="root";
  3. flush privileges;
  4. use mysql;
  5. delete from user where user='';
  6. 提示: Query OK, 1 row affected (0.00 sec)
  7. update user set host='%' where user='root' and host='localhost';
  8. flush privileges;  
  9. exit;

七、防火墙开启后的配置(第一步我们已经关闭防火墙了)

开启防火墙

systemctl start firewalld

在防火墙中开启3306端口

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

firewall-cmd --reload

 

查看开启的端口

firewall-cmd --zone=public --list-ports

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/970139
推荐阅读
相关标签
  

闽ICP备14008679号