• 【Mysql】Centos 7.6安装Mysql8


    这里centos为阿里云默认镜像。

    一、卸载历史历史版本

    1、检查是否有服务启动

    # service mysqld status

    2、停止mysql服务

    # service mysqld stop

    3、查看mysql历史安装组件

    # rpm -qa|grep mysql
    

    mysql-libs-5.1.71-1.el6.x86_64 

    4、卸载组件

    # rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 

    二、安装MYSQL8

    因为CentOS 7默认安装的数据库是Mariadb,所以使用YUM命令是无法安装MySQL的,只会更新Mariadb。使用rpm来进行安装。可以在mysql的repo源仓库右键复制指定版本的数据库。

    1、进入usr目录

    #cd cd /usr/local/

    2、安装SQL

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

    运行后本目录后下载mysql80-community-release-el7-1.noarch.rpm包

    # sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm

    安装完成后出现以下两文件:

    使用yum安装mysql服务,这里--nogpgcheck指禁用GPG检查,不禁用可能因密钥文件不对导致无法安装。

    # yum -y install mysql-community-server --nogpgcheck

     显示Complete说明安装成功。

    3、接下来修改mysql配置文件,根据自身需要修改端口等配置,示例见文底。(mysql8在linux下如果要修改大小写敏感需要在初次启动前修改:lower_case_table_names = 1,如果已经初始化需要先停止mysql服务然后将/etc/lib/mysql目录删除,再重新按第4步执行。)

    后面密码修改为123456会提示密码太弱[非要改为123456,先要修改mysql8的密码规则],这里最好先将配置文件改了再来改密码,配置文件里面的密码规则影响navicat的登陆

    # vi /etc/my.conf

    4、启动mysql以及初始化密码

    1. # ps -ef|grep mysql //查看是否已经启动
    2. # systemctl start mysqld.service //启动服务
    3. # mysqld --initialize //初始化Mysql
    4. # grep 'temorary password' /var/log/mysqld.log //输出mysqld密码到文件

    密码如下:

     5、修改初始密码以及远程登陆

    1. # mysql -uroot -P3369 -p
    2. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

    出现如下错误需要降低policy等级:

     执行:set global validate_password.policy=0;  再执行修改密码

     6、授权远程登陆

    1. use mysql;
    2. update user set host = '%' where user = 'root';

    7、刷新

    FLUSH PRIVILEGES;

    8、开启防火墙

    1. #firewall-cmd --permanent --add-port=3306/tcp //开启端口
    2. #firewall-cmd --reload //刷新应用
    1. centOS7 防火墙相关命令
    2. 一、开放端口用 --add-port
    3. firewall-cmd --permanent --add-port=8080/tcp
    4. 二、移除端口用 --remove-port
    5. firewall-cmd --permanent --remove-port=8080/tcp
    6. 三、刷新规则用 --reload
    7. firewall-cmd --reload
    8. 四、查询端口是否开放用 --query-port
    9. firewall-cmd --query-port=8080/tcp
    10. 五、防火墙其它管理操作命令
    11. 命令功能 命令
    12. 启动 firewalld.service服务 service firewalld start
    13. 停止firewalld.service服务 service firewalld stop
    14. 重启firewalld.service服务 service firewalld restart
    15. 查看firewall的状态 firewall-cmd --state
    16. 查看防火墙已有规则列表 firewall-cmd --list-all
    17. 查看firewall服务状态 systemctl status firewalld
    18. 六、备注
    19. firwall-cmd:是Centos Linux 7.x提供的操作firewall的一个工具
    20. --permanent:表示设置为持久有效,记忆技巧:per 自始至终 + man 逗留 + ent 具有…性质的 → 始终逗留的 → 持久的
    21. 防火墙文件地址:
    22. 1/etc/firewalld/zones/public.xml 配置的在此文件中
    23. 2/usr/lib/firewalld/zones 这里的防火墙配置文件一般不改变,应该是系统备份。
    24. 端口较多的情况直接在文件里配置,然后重启防火墙服务就好。

    再说my.cnf配置,在启动好后,/etc/my.cnf已经自动生成好了。后续争对mysql的配置优化肯定少不了,

    比如默认端口3306 就看个人喜好改一个,避免恶意攻击。

    比如,如下:

    1. # For advice on how to change settings please see
    2. # http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
    3. [mysqld]
    4. #
    5. # Remove leading # and set to the amount of RAM for the most important data
    6. # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    7. # innodb_buffer_pool_size = 128M
    8. #
    9. # Remove the leading "# " to disable binary logging
    10. # Binary logging captures changes between backups and is enabled by
    11. # default. It's default setting is log_bin=binlog
    12. # disable_log_bin
    13. #
    14. # Remove leading # to set options mainly useful for reporting servers.
    15. # The server defaults are faster for transactions and fast SELECTs.
    16. # Adjust sizes as needed, experiment to find the optimal values.
    17. # join_buffer_size = 128M
    18. # sort_buffer_size = 2M
    19. # read_rnd_buffer_size = 2M
    20. #
    21. # Remove leading # to revert to previous value for default_authentication_plugin,
    22. # this will increase compatibility with older clients. For background, see:
    23. # https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
    24. # default-authentication-plugin=mysql_native_password
    25. port=3369
    26. character-set-server=utf8
    27. max_connect_errors=10
    28. max_connections=200
    29. default-storage-engine=INNODB
    30. default_authentication_plugin=mysql_native_password
    31. sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
    32. datadir=/var/lib/mysql
    33. socket=/var/lib/mysql/mysql.sock
    34. log-error=/var/log/mysqld.log
    35. pid-file=/var/run/mysqld/mysqld.pid
    36. [mysql]
    37. default-character-set=utf8
    38. [client]
    39. port=3369
    40. default-character-set=utf8

  • 相关阅读:
    docker部署go项目
    语法分析出错,不是 GROUP BY 表达式
    疗养院无线wifi短信认证方案
    mqtt使用方法
    Stable Diffusion WebUI扩展sd-webui-controlnet之Canny
    【语音处理】基于自适应差分脉冲编码调制(ADPCM)的实现研究(Matlab代码实现)
    MP3是如何诞生的?
    【Pytorch实用教程】nn.LogSoftmax的详细用法及公式
    Fastjson 1.2.24反序列化漏洞(Vulhub)使用方法
    GIS与人工智能应用结合举例
  • 原文地址:https://blog.csdn.net/mfkarj/article/details/127976722