美文网首页
银河麒麟编译安装MySQL8.0.22

银河麒麟编译安装MySQL8.0.22

作者: 海觅天_ | 来源:发表于2022-01-14 17:28 被阅读0次

    第一步:下载源码(这里下的是 boost 版本)

    如下图访问MySQL官网下载对应版本的mysql8.0.22源码

    第二步:编译安装

    (一). 放到需要的目录

    (二). 解压(银河麒麟的可视化界面对解压操作还是很友好的)

    (三). 安装

    1. 找到的安装方案需要依赖openldap,而安装openldap前提是已经安装好openssl和BerkeleyDB,所以需要先从这里开始

    (1). 安装openssl(这个虽然系统自带,但是最好不要卸载,重新安装一个,卸载之后很多服务可能起不来)

    访问OpenSSL官网下载所需版本,如下图所示这里用的是1.1.1版本

    OpenSSL 1.1.1

    tar -zxvf + 压缩包名
    cd + 解压后的文件名

    (注意在makefile文件中把库的位置由lib64改为lib)

    ./configure prefix=/usr/local/openssl1.1.1
    make
    make install

    (2). 安装BerkeleyDB

    访问Berkeley DB官网下载所需版本,如下图所示这里用的是5.3.28.NC

    Berkeley DB 5.3.28.NC

    tar -zxvf + 压缩包名
    cd + 解压后的文件名
    cd build_unix
    ../dist/configure --enable-cxx #其中–enable-cxx就是编译C++库,这样才能编译Berkeley DB数据库的PHP扩展php_db4。
    make
    make install

    (3).安装OpenLDAP

    访问OpenLDAP下载所需版本,如下图所示这里用的是2.4.44

    OpenLDAP 2.4.44

    tar -zxvf + 压缩包名
    cd + 解压得到的文件名

    ./configure --prefix=/usr/local/openldap-2.4.44 --enable-syslog --enable-modules --enable-debug --with-tls=openssl CPPFLAGS=-I/usr/local/BerkeleyDB.5.3/include/ LDFLAGS=-L/usr/local/BerkeleyDB.5.3/lib/

    make depend
    make -j8
    make install

    2. 安装MySQL8.0.22(终于进入正题)

    (1).接入解压后的目录创建 build 文件夹

    (2).进入 build 文件夹执行以下命令

    cmake ../ -DWITH_BOOST=../boost -DWITH_SSL=/usr/local/openssl1.1.1 -DWITH_LDAP=/usr/local/openldap-2.4.44
    make -j8
    make install

    安装完成

    第三步:添加用户

    groupadd mysql
    useradd -g mysql mysql
    mkdir -p /usr/local/mysql/data
    chown -R mysql:mysql /usr/local/mysql

    第四步:初始化

    sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    这一步成功的话,在最后会打印输出随机生成的root账号初始密码,一定要记下来后面会用到。

    第五步:配置

    (一). 配置my.cnf

    vim /etc/my.cnf

    然后写入以下内容

    [client]
    socket = /tmp/mysql.sock

    [mysqld]
    lower_case_table_names = 1
    socket = /tmp/mysql.sock
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data

    !注意lower_case_table_names = 1是MySQL8设置表名大小写不敏感的,一定要在初始化完第一次配置的时候就加上,如果不加后面启动程序可能会由于表名导致报错Table 'XXX' doesn't exist,那时候再加会导致MySQL重启失败提示其他错误,经过尝试,只有在安装完成之后,第一次启动数据库之前,修改my.cnf,然后再启动数据库才有效

    (二). 配置启动项

    sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    sudo chmod +x /etc/init.d/mysqld
    sudo update-rc.d mysqld defaults
    service mysqld start

    (三). 添加环境变量

    sudo vim /etc/profile

    最下面部分添加

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

    最后使之生效

    source /etc/profile

    第六步:开启远程连接(可选)

    mysql -u root -p

    回车后会提示password:,输入刚才第四步完成后得到的初始化密码访问MySQL

    (一). 先查看用户及对应的host

    use mysql;
    select user,host from user;

    查看root用户对应的是localhost还是%,为下一步做准备

    (二). 修改密码

    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

    (三). 如果第一步host值是localhost,则修改为%,表示所有IP都有连接权限(为了省事)

    update user set host = '%' where user = 'root';

    (四). 测试使用新密码登录mysql

    第七步:管理

    systemctl start mysqld
    systemctl stop mysqld
    systemctl restart mysqld

    大功告成。

    相关文章

      网友评论

          本文标题:银河麒麟编译安装MySQL8.0.22

          本文链接:https://www.haomeiwen.com/subject/dojthrtx.html