登录
首页 >  数据库 >  MySQL

CentOS7下源码安装MySQL5.7.6+

来源:SegmentFault

时间:2023-02-24 13:18:11 295浏览 收藏

本篇文章向大家介绍《CentOS7下源码安装MySQL5.7.6+》,主要包括MySQL、install、centos,具有一定的参考价值,需要的朋友可以参考一下。

源文Github地址

Linux版本:Centos7

MySQL版本:MySQL5.7.16

该文档适用于MySQL版本>=5.7.6

  1. 卸载CentOS7默认携带的mariadb包
    # 检查mariadb安装包
    [root@wing ~]# rpm -qa | grep -i mysql
    [root@wing ~]# rpm -qa | grep -i mariadb
    mariadb-libs-5.5.50-1.el7_2.x86_64

    # 卸载mariadb安装包
    [root@wing ~]# rpm -e mariadb-libs-5.5.50-1.el7_2.x86_64
    error: Failed dependencies:

       # 进入到MySQL安装目录下
       cd /usr/local/mysql
       # 初始化MySQL,切记--defaults-file=/etc/my.cnf要放在参数的第一位,初始化信息可以在MySQL的errorlog中查看,并且在errorlog会生成一个root的随机密码,该随机密码仅仅为root@localhost用户所有。
       mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/mysql --datadir=/data/mysql/mysql3306/mydata --user=mysql
  2. 添加MySQL环境变量

       vim /etc/profile
    
       # 在~/.bashrc文件下添加如下语句
       export MYSQL_HOME=/usr/local/mysql
       export PATH=${MYSQL_HOME}/bin:$PATH
    
       # 保存后,使环境变量生效
       source /etc/profile
  3. 启动MySQL

    mysqld_safe --defaults-file=/etc/my.cnf &
    # 此时可以通过ps -ef | grep mysql看到相关进程
  4. 登陆MySQL

    mysql -uroot -S /data/mysql/mysql3306/tmpdir/mysql.sock -p
    # 输入errorlog中生成的随机密码,即可登陆MySQL
    
    # 登陆mysql需要修改root密码,否则会出现下列情况:
    root@localhost : (none) 11:16:52> show databases;
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    
    # 修改root密码
    set password='MYSQL';
    # 目前版本可以使用直接的字符串代替以前password('xxx')的加密方式,目前版本提示如下:
    root@localhost : (none) 11:16:54> set password=password('MYSQL');
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    Warning (Code 1287): 'SET PASSWORD = PASSWORD('')' is deprecated and will be removed in a future release. Please use SET PASSWORD = '' instead
    root@localhost : (none) 11:19:27> set password='MYSQL';
  5. 关闭MySQL

    mysqladmin shutdown -uroot -S /data/mysql/mysql3306/tmpdir/mysql.sock -p
    # 使用新密码
  6. 初始化的MySQL5.7.6+与MySQL5.6.xx不同之处

    • 初始化工具不同

    MySQL5.6.xx使用的是mysql_install_db,MySQL5.7.6+官方推荐使用mysqld --initialize。

    • 初始化数据库不同

    MySQL5.6.xx初始化之后存在mysql,information_schema,performance_schema,test四个数据库,MySQL5.7.6+初始化之后存在mysql,information_schema,performance_schema,sys四个数据库。

    • 初始化用户不同

    MySQL5.6.xx初始化之后存在root@localhost ,root@'::1',root@'hostname',''@'localhost',''@'hostname'五个用户,MySQL5.7.6+初始化之后存在mysql.sys,root@localhost用户

    • 初始化root密码

    MySQL5.6.xx初始化之后root用户密码为空,MySQL5.7.6+初始化之后会为root@localhost用户生成随机密码。

以上就是《CentOS7下源码安装MySQL5.7.6+》的详细内容,更多关于mysql的资料请关注golang学习网公众号!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表