开发者
资源
鲲鹏系列服务器arm架构安装mysql8.0.17数据库
鲲鹏系列服务器arm架构安装mysql8.0.17数据库
发表于2023/09/30
1.3k0

鲲鹏系列服务器arm架构安装mysql8.0.17数据库

1.环境要求

华为鲲鹏920处理器;Centos7.6

2.安装OS依赖包

yum -y install bison ncurses ncurses-devel libaio-devel openssl openssl-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel

3.升级cmake

  1. 下载cmake3.5.2。(mysql需要升级cmake版本至3.4.3或者以上)

  2. 将软件包上传至服务器/home目录,并解压。

    #cd /home

    #tar -zxvf cmake-3.5.2.tar.gz

  3. 进入解压后目录。

    #cd cmake-3.5.2

  4. 升级cmake。

    #./bootstrap

    #make -j 2(编译命令参数**-j后数字为CPU核数,可用“cat /proc/cpuinfo | grep processor | wc -l”**进行查看,此数值应小于等于CPU核数。此过程非常慢,建议执行命令行放一边等待)

  5. #make install

  6. 确认cmake的版本是否为3.5.2。

    #/usr/local/bin/cmake --version

4.升级gcc

  1. 下载gcc7.3.0。

  2. 将gcc-7.3.0.tar.gz上传至“/home”目录下,并解压。

    #cd /home

    #tar -xvf gcc-7.3.0.tar.gz

  3. 编译安装gcc。

    #cd /home/gcc-7.3.0

    #./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-bootstrap

    • --perfix=PATH:指定gcc软件安装目录。默认路径/usr
    • --mandir=PATH:指定gcc软件文档目录。默认路径/usr/share/man
    • --infodir=PATH:指定gcc软件日志信息目录。默认路径/usr/share/info
    • --enable-bootstrap:指定启用bootstrap方式安装。

    #make -j 2(-j 2 参数充分利用多核CPU优势,加快编译速度,编译过程很长,可以先做其他任务)

    说明:

    编译命令参数**-j后数字为CPU核数,可用“cat /proc/cpuinfo | grep processor | wc -l”**进行查看,此数值应小于等于CPU核数。

    #make install

  4. 确认gcc的版本是否为7.3.0。

    #gcc -v

5.编译和安装

  1. 下载源码包。

    1. 下载MySQL源码包(includes Boost Headers)。

    2. mysql-boost-8.0.17.tar.gz上传至服务器“/home”目录下,并解压。

      #cd /home

      #tar -zxvf mysql-boost-8.0.17.tar.gz

  2. 进入“/home/mysql-8.0.17”源码文件夹。

    #cd /home/mysql-8.0.17

  3. 执行编译。

    #cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EMBEDDED_SERVER=1 -DCMAKE_C_COMPILER=/usr/bin/gcc -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/home/mysql-8.0.17/boost/boost_1_69_0 -DFORCE_INSOURCE_BUILD=1

    在编译安装的时候,路径要根据实际情况而定,表1为对编译安装的关键路径的解释。

    参数说明
    DCMAKE_INSTALL_PREFIX用于指定软件的安装路径。本次安装路径为:/usr/local/mysql
    DMYSQL_DATADIR创建数据库时,数据文件存放的路径。本次安装路径为:/data/mysql/data
    DCMAKE_C_COMPILER安装GCC的存放路径,如果在安装GCC没有指定路径的情况下,一般默认存放在/usr/local/bin目录下。
    DWITH_BOOST解压的MySQL安装压缩包中boost_1_69_0文件夹所在路径。例如,本文解压在“/home”目录下,则路径为:/home/mysql-8.0.17/boost/boost_1_69_0
  4. 执行安装。

    #make -j 2

这里可以可能会出现错误:1.virtual memory exhausted: Cannot allocate memory

可能是服务器未给你分配虚拟内存,所以可以通过自行增加虚拟内存的方法予以解决:

dd if=/dev/zero of=/swap bs=1024 count=1Mmkswap /swapswapon /swapecho "/swap  swap  swap  sw  0  0" >> /etc/fstab

#make install

5.配置MySQL

groupadd mysql useradd -s /sbin/nologin -M -g mysql mysql chown -R mysql:mysql /usr/local/mysql cd /usr/local/mysql mkdir -p /data/log /data/data /data/run

初始化操作,执行下述命令后,会产生初始随机密码,需要记录。 bin/mysqld --initialize --basedir=/usr/local/mysql --datadir=/data/data --user=mysql

chown -R mysql:mysql /data ln -s /data/data/mysql.sock /tmp/mysql.sock

配置/etc/my.cnf文件

cat > /etc/my.cnf<<EOF
[client]
#password   = your_password
port        = 3306
socket      = /data/data/mysql.sock
[mysqld]
port        = 3306
socket      = /data/data/mysql.sock
datadir = /data/data
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
thread_cache_size = 8
tmp_table_size = 16M
performance_schema_max_table_instances = 500
explicit_defaults_for_timestamp = true
#skip-networking
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
log-bin=mysql-bin
binlog_format=mixed
server-id   = 1
expire_logs_days = 10
early-plugin-load = ""
default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_data_home_dir = /data/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /data/data
innodb_buffer_pool_size = 16M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct = 90
innodb_read_io_threads = 8
innodb_write_io_threads = 8
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer_size = 2M
write_buffer_size = 2M
[mysqlhotcopy]
interactive-timeout
EOF

服务配置: cp support-files/mysql.server /etc/init.d/mysql chkconfig mysql on service mysql start

6.连接到mysql

登录mysql:mysq mysql -uroot -p

然后输入刚刚记录的密码

如果修改密码时无法识别mysql,使用**# ln -s /usr/local/mysql/bin/mysql /usr/bin**命令软连接

修改密码:alter user 'root'@'localhost' identified by '你的密码';

这时候你的mysql就能使用了。

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞