1、安全配置
- 关闭SELINUX
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
- 防火墙配置
systemctl stop firewalld.service && systemctl disable firewalld.service
2、卸载系统自动的mariadb
rpm -qa|grep mariadb
rpm -e --nodeps 查询出来的相关包进行卸载
3、增加mysql用户
groupadd mysql
useradd -g mysql mysql
3、编译所需的依赖安装
yum -y install ncurses ncurses-devel
yum -y install libaio-devel
yum -y install gmp gmp-devel
yum -y install mpfr mpfr-devel
yum -y install libmpc libmpc-devel
yum -y install zlib-devel
yum -y install net-tools
yum -y install cmake
yum -y install openssl openssl-devel
yum -y install gcc-c++
yum -y install libtirpc-devel
rpm -ivh libatomic-7.3.0-20190804.h30.ky10.aarch64.rpm
- 上述安装完成之后如果编译出错,需要安装rpcsvc
tar -xvf rpcsvc-proto-1.4.1.tar
cd rpcsvc-proto-1.4.1
./configure
make && make install
4、解压源码包
tar -zxvf mysql-boost-8.0.18.tar.gz
5、建立安装目录和数据目录(路径根据实际情况)
mkdir mysql
mkdir mysqldata
chown -R mysql:mysql mysqldata mysql
6、建立编译目录
#在解压目录里面建立
mkdir build
cd build
7、进行编译
cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=/data/mysql -DMYSQL_DATADIR=/data/mysqldata -DWITH_BOOST=../boost/
#16是指cpu的核数,可以根据设备自行设定,通过lscpu获取
make -j 16
make -j 16 install
8、配置文件my.cnf
[mysqld_safe]
log-error=/data/mysqldata/mysql.log
pid-file=/data/mysqldata/mysqld.pid
[mysqldump]
quick
[mysql]
no-auto-rehash
[client]
default-character-set=utf8
socket=/data/mysqldata/mysql.sock
[mysqld]
character_set_server=utf8
default-time_zone='+8:00'
max_allowed_packet=64M
wait_timeout=1814400
skip-name-resolve
lower_case_table_names=1
default_authentication_plugin=mysql_native_password
symbolic-links=0
basedir=/data/mysql
socket=/data/mysqldata/mysql.sock
#tmpdir=/data/mysqldata/tmp
datadir=/data/mysqldata
port=3306
user=mysql
max_connections=16384
innodb_buffer_pool_size=12G
innodb_buffer_pool_instances=8
#server-id 必须唯一
#server-id=1
log-bin=mysql-bin
expire_logs_days = 15
log-slave-updates
9、初始化
进入到编译生成的二进制包路径的bin
./mysqld --defaults-file=/etc/my.cnf --initialize --lower_case_table_names=1
#mysql8中对lower_case_table_names的配置需要在初始化中设定,记住初始化之后的默认密码
记住编译后的数据库初始密码
10、启动mysql
bin/mysqld --user=mysql &
11、重置初始密码和配置远程登录
mysql -uroot -p
alter user 'root'@'localhost' identified by "you_passwd";
create user 'root'@'%' identified by 'you_passwd';
grant all privileges on *.* to 'root'@'%';
flush privileges;
exit
12、补充说明
1、配置service,设置开机自启
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql (一般是已经有权限了)
chkconfig --add mysql
2、在欧拉系统上遇到过mysql连接报错问题,错误信息如下:error while loading shared libraries: libncurses.so.5: cannot open shared object file,解决方法:
yum install libncurses* -y
如果已经安装了还提示,可能是版本问题,需要做个软连接:
find / -name 'libncurses*' 根据找到的文件软连接:ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5
# 重新测试连接报错缺少libtinfo,还是先找到,然后配置软链接
find / -name libtinfo.so*
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
本文详细介绍了在Linux服务器上源码安装MySQL8的全过程,包括安全配置、卸载MariaDB、添加mysql用户、安装依赖、解压源码、编译安装、配置my.cnf、初始化数据库、启动服务、重置密码、配置远程访问以及设置开机自启等关键步骤。在安装过程中可能遇到的libncurses.so.5缺失问题也提供了解决方案。

被折叠的 条评论
为什么被折叠?



