• CentOS 7 安装 MySQL 8


    一、卸载MariaDB

    MariaDB是MySQL 的一个分支,完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

    1、查看版本(如果有就卸载)

    1. rpm -qa|grep mariadb
    2. rpm -e --nodeps 文件名

    二、下载mysql

    1、进入 /usr/local/ 目录执行

    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

    2、检查系统是否之前安装过mysql

    1. rpm -qa|grep mysql
    2. //说明当前系统没有安装 MySQL,开始安装。如果有输出,则卸载。
    3. # 停止服务
    4. systemctl stop mysqld
    5. # 卸载
    6. rpm -e --nodeps mysql文件名

    3、解压

    1. # .tar.gz 后缀
    2. tar -zxvf 文件名
    3. # .tar.xz 后缀
    4. tar -Jxvf 文件名

    解压完成后/usr/local/ 下会生成 MySQL 文件夹

    三、配置 

    1、文件夹重命名

    mv 原文件夹名 mysql8

    2、测试

    临时生效:连接会话关闭后失效,通常用于测试环境

    export PATH=$PATH:/usr/local/mysql8/bin

     查看版本

    mysql --version

    确认已经安装成功后删除压缩包

    rm -rf 压缩包名

     四、创建用户组、用户

    进入 /usr/local

    1. 创建用户组groupadd

    2. 创建用户useradd-r 创建系统用户,-g 指定用户组)

    1. groupadd mysql
    2. useradd -r -g mysql mysql

    五、数据目录

    1、创建目录

    mkdir -p /data/mysql8_data
    

     2、赋予权限

    1. # 更改属主和数组
    2. chown -R mysql:mysql /data/mysql8_data
    3. # 更改模式
    4. chmod -R 750 /data/mysql8_data

    六、初始化 & 启动

    1、配置文件

    在 /usr/local/etc/ 下创建 my.cnf 配置文件

    使用vim命令打开这个文件

    按 i 进入编辑模式。编辑完后 :wq 保存退出

    vim my.cnf

    配置内容:

    1. [mysql]
    2. # 默认字符集
    3. default-character-set=utf8mb4
    4. [client]
    5. port = 3306
    6. socket = /tmp/mysql.sock
    7. [mysqld]
    8. port = 3306
    9. server-id = 3306
    10. user = mysql
    11. socket = /tmp/mysql.sock
    12. # 安装目录
    13. basedir = /usr/local/mysql8
    14. # 数据存放目录
    15. datadir = /data/mysql8_data/mysql
    16. log-bin = /data/mysql8_data/mysql/mysql-bin
    17. innodb_data_home_dir =/data/mysql8_data/mysql
    18. innodb_log_group_home_dir =/data/mysql8_data/mysql
    19. # 日志及进程数据的存放目录
    20. log-error =/data/mysql8_data/mysql/mysql.log
    21. pid-file =/data/mysql8_data/mysql/mysql.pid
    22. # 服务端字符集
    23. character-set-server=utf8mb4
    24. lower_case_table_names=1
    25. autocommit =1
    26. ##### 以上涉及文件夹明,注意修改
    27. skip-external-locking
    28. key_buffer_size = 256M
    29. max_allowed_packet = 1M
    30. table_open_cache = 1024
    31. sort_buffer_size = 4M
    32. net_buffer_length = 8K
    33. read_buffer_size = 4M
    34. read_rnd_buffer_size = 512K
    35. myisam_sort_buffer_size = 64M
    36. thread_cache_size = 128
    37. #query_cache_size = 128M
    38. tmp_table_size = 128M
    39. explicit_defaults_for_timestamp = true
    40. max_connections = 500
    41. max_connect_errors = 100
    42. open_files_limit = 65535
    43. binlog_format=mixed
    44. binlog_expire_logs_seconds =864000
    45. # 创建表时使用的默认存储引擎
    46. default_storage_engine = InnoDB
    47. innodb_data_file_path = ibdata1:10M:autoextend
    48. innodb_buffer_pool_size = 1024M
    49. innodb_log_file_size = 256M
    50. innodb_log_buffer_size = 8M
    51. innodb_flush_log_at_trx_commit = 1
    52. innodb_lock_wait_timeout = 50
    53. transaction-isolation=READ-COMMITTED
    54. [mysqldump]
    55. quick
    56. max_allowed_packet = 16M
    57. [myisamchk]
    58. key_buffer_size = 256M
    59. sort_buffer_size = 4M
    60. read_buffer = 2M
    61. write_buffer = 2M
    62. [mysqlhotcopy]
    63. interactive-timeout

    2、初始化

    需要进入 /usr/local/mysql/bin,若添加了 PATH 变量可忽略。

    mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/data/mysql8_data/mysql --user=mysql --initialize-insecure
    

     3、启动 MySQL

    1. # 完整命令
    2. /usr/local/mysql8/bin/mysqld_safe --defaults-file=/usr/local/etc/my.cnf &
    3. # 若添加了PATH变量,可省略如下
    4. mysqld_safe --defaults-file=/usr/local/etc/my.cnf &

    查看是否启动:

    ps -ef|grep mysql

    4、启动

    1. //无密码:若以 --initialize-insecure 初始化,首次登录时跳过密码。
    2. mysql -u root --skip-password
    3. //有密码
    4. mysql -u root -p

    5、修改密码

    1. # 修改密码
    2. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
    3. # 刷新权限
    4. FLUSH PRIVILEGES;

    平时修改密码:

    1. mysqladmin -u用户名 -p旧密码 password 新密码
    2. 或者
    3. # 设置密码
    4. SET PASSWORD FOR '用户名'@'主机' = PASSWORD(‘密码');
    5. # 刷新权限
    6. FLUSH PRIVILEGES;

    6、退出mysql

    1. quit;
    2. exit;

    7、关闭防火墙:

    systemctl stop firewalld
  • 相关阅读:
    【KafkaStream】流式计算概述&KafkaStream入门
    淘宝产品ID在哪儿查询?
    【python】flask相关包依赖关系问题
    java对接webservice接口的四种方式
    打印机不能正常打印怎么办
    《异常检测——从经典算法到深度学习》19 OmniAnomaly:基于随机循环网络的多元时间序列鲁棒异常检测
    阿里P8最新内部疯传的 2022年【失传资料】Java面试总结手册
    JS逆向爬虫---请求参数加密②【某麦数据analysis参数加密】
    力扣46. 全排列
    24_Node.js
  • 原文地址:https://blog.csdn.net/qq_40596257/article/details/133939948