首先非常感谢甲骨文首席解决方案工程师陈臣老师赠书:
由于本人mysql平时接触比较少,现将安装方法分享如下:
二进制安装:
一、创建操系统用户
groupadd mysqluseradd -g mysql mysql
二、解压二进制包,建立软链接
cd /usr/local/ tar xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz ln -s mysql-8.0.25-linux-glibc2.12-x86_64 mysql
三、编辑配置文件
vim /etc/my.cnf [client] socket =/data/mysql/3306/data/mysql.sock [mysqld] basedir =/usr/local/mysql datadir =/data/mysql/3306/datauser =mysqlport =3306 socket =/data/mysql/3306/data/mysql.sock log_error =/data/mysql/3306/data/mysqld.err log_timestamps =system
四、创建数据目录,并修改其属主、属组
mkdir -p /data/mysql/3306/datachown mysql.mysql /data/mysql/3306/data/
五、初始化实例
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize
六、启动实例
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf&
查看mysqld进程是否启动
ps -ef|grep mysqld
七、登录实例,需要使用初始化过程中生成的随机密码
grep password /data/mysql/3306/data/mysqld.err/usr/local/mysql/bin/mysql -uroot -S /data/mysql/3306/data/mysql.sock -p'J1wl>BaP3,Kc'
八、修改密码
--密码策略mysql>install component 'file://component_validate_password';alter user user() identified by 'wuyang'; mysql>select * from mysql.component; mysql>show plugins;
九、测试登录
/usr/local/mysql/bin/mysql -uroot -pwuyang
源码安装步骤:
一、安装依赖包,解压源码包
yum install cmake3 gcc gcc-c++ glibc ncurses-devel openssl-devel libaio-devel --解压安装包cd /usr/src/tar xvf mysql-boost-8.0.25.tar.gzcd mysql-8.0.25
二、创建一个临时的编译目录
mkdir buildcd build
之所以要创建一个目录进行编译,主要为了保证源码树的整洁。如果在当前目录下编译,会报一下错误 CMake Error at Cmakelists.txt:382(MESSAGE)....................................-DEFORCE_INSOURCE_BUILD=1
三、配置编译文件
cmake3 /usr/src/mysql-8.0.25/ -DWITH_BOOST=/usr/src/mysql-8.0.25/boost/boost_1_73_0 -DENABLE_DOWNLOADS=1 -DBUILD_CONFIG=mysql_release
cmake命令会给予源码包中的CMakeLists.txt生成Makefile。这一步会检查编译器和依赖库是否已经安装,版本是否满足编译需求
cmke命令行中执行了3个选项
-DWITH_BOOST:制定Boost库的位置-DENABLE_DOWNLOADS:自动下载某些扩展文件,如Googletest,内网环境中可以不指定-DBULID_CONFIG=mysql_release:使用官方二进制包的编译选项
也可指定其他选项,常用的编译选项如下
-DCMAKE_BUILD_TYPE:bulid的类型,如果要编译成debug版,需将该选项设为debug-DWITH_DEBUG:是否编译成debug版本。若设置成1,效果同-DMAKE_BUILD_TYPE=debug一样-DCMAKE_INSTALL_PREFIX:指定安装目录的位置,默认为/usr/local/mysql-DMYSQL_DATADIR:指定数据目录的默认位置-DDEFAULT_CHARSET:指定默认字符集-DDEFAULT_COLLATION:指定字符集的默认校验规则-DMYSQL_TCP_PORT:指定mysql server的默认端口,默认为3306-DMYSQL_UNIX_ADDR:指定套接字文件的位置,默认为/tmp/mysql/sock-WITHOUT_xxx_STORAGE_ENGINE:排除某些存储引擎的编译。比如不编译BLACKHOLE存储引擎,可指定以下选项:-DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1-WITH_xxx_STORAGE_ENGINE:指定某些存储引擎的编译。在二进制包中,默认不支持FEDERATED引擎,如果要开启,只能编译源码,且需要指定以下选项:-DWITH_FEDERATED_STORAGE_ENGINE=1-DWITHOUT_SERVER:是否编译mysql server,如果设置为1,则不会编译
四、编译
make -j 16
make会基于Makefile中的规则将源码编译成可执行文件,-j代表并发数
五、安装
make install
make install命令会将可执行文件和第三方依赖库拷贝到指定位置。编译后的文件默认/usr/local/mysql目录下
This system is not registered with an entitlement server. You can use subscription-manager to register问题处理
vim /etc/yum/pluginconf.d/subscription-manager.conf 修改enabled=0
cmake3处理方法
解压cmake源码包 tar -zxvf cmake-3.10.0-rc3.tar.gz 进入目录,设置,编译,链接 cd cmake-3.10.0-rc3/ ./bootstrap gmake gmake install
echo '[group_kdesig-cmake3_EPEL] name=Copr repo for cmake3_EPEL owned by @kdesig baseurl= type=rpm-md skip_if_unavailable=True gpgcheck=1 gpgkey= repo_gpgcheck=0 enabled=1 enabled_metadata=1' >> /etc/yum.repos.d/cmake3.repo yum install -y epel-release