鲲鹏系列服务器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
- 下载cmake3.5.2。(mysql需要升级cmake版本至3.4.3或者以上) cmake3.5.2下载地址(使用迅雷下载很快):https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
- 将软件包上传至服务器/home目录,并解压。 #cd /home
#tar -zxvf cmake-3.5.2.tar.gz
- 进入解压后目录。 #cd cmake-3.5.2
- 升级cmake。 #./bootstrap
#make -j 2(编译命令参数-j后数字为CPU核数,可用“cat /proc/cpuinfo | grep processor | wc -l”进行查看,此数值应小于等于CPU核数。此过程非常慢,建议执行命令行放一边等待) - #make install
- 确认cmake的版本是否为3.5.2。 #/usr/local/bin/cmake --version
4.升级gcc
- 下载gcc7.3.0。 gcc7.3下载地址(建议迅雷下载):https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
- 将gcc-7.3.0.tar.gz上传至“/home”目录下,并解压。 #cd /home
#tar -xvf gcc-7.3.0.tar.gz - 编译安装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
- 确认gcc的版本是否为7.3.0。 #gcc -v
5.编译和安装
- 下载源码包。
- 下载MySQL源码包(includes Boost Headers)。 下载地址:https://downloads.mysql.com/archives/community/
- 下载地址(推荐使用迅雷下载)https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-8.0.20.tar.gz
- 将mysql-boost-8.0.17.tar.gz上传至服务器“/home”目录下,并解压。 #cd /home
#tar -zxvf mysql-boost-8.0.17.tar.gz
- 进入“/home/mysql-8.0.17”源码文件夹。 #cd /home/mysql-8.0.17
- 执行编译。 #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 |
- 执行安装。 #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
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;