银河麒麟编译安装MySQL8.0.22

2022-01-14  本文已影响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

大功告成。

上一篇下一篇

猜你喜欢

热点阅读