鲲鹏系列服务器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或者以上) cmake3.5.2下载地址(使用迅雷下载很快):https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
  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。 gcc7.3下载地址(建议迅雷下载):https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
  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优势,加快编译速度,编译过程很长,可以先做其他任务)

  1. 说明: 

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

#make install

  1. 确认gcc的版本是否为7.3.0。 #gcc -v

5.编译和安装

  1. 下载源码包。
  1. 下载MySQL源码包(includes Boost Headers)。 下载地址:https://downloads.mysql.com/archives/community/
  2. 下载地址(推荐使用迅雷下载)https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-8.0.20.tar.gz
  3. mysql-boost-8.0.17.tar.gz上传至服务器“/home”目录下,并解压。 #cd /home
    #tar -zxvf mysql-boost-8.0.17.tar.gz
  1. 进入“/home/mysql-8.0.17”源码文件夹。 #cd /home/mysql-8.0.17
  2. 执行编译。 #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为对编译安装的关键路径的解释。表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

  1. 执行安装。 #make -j 2

这里可以可能会出现错误

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

dd if=/dev/zero of=/swap bs=1024 count=1M

mkswap /swap

swapon /swap

echo "/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

arm的架构服务器 arm架构服务器安装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就能使用了。

7.外网访问mysql(非必须)

先在服务器安全组添加3306端口

然后尝试连接,如果连接不成功,可以尝试修改可访问的域名:

update user set Host='%' where User='root';

flush privileges;