下载mysql安装包
#根据ldd --version的信息, 下载的是glic 2.28的包。
下载地址:https://downloads.mysql.com/archives/community/
包名:mysql-8.0.37-linux-glibc2.28-x86_64.tar.xz
#root用户操作
#系统环境:BigCloud Enterprise Linux For Euler 21.10 LTS (x86_64架构)
]# ldd --version
ldd (GNU libc) 2.28
#新增用户、用户组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
#解压
tar -Jxvf mysql-8.0.37-linux-glibc2.17-x86_64.tar.xz
mv mysql-8.0.37-linux-glibc2.17-x86_64 /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql
mkdir -p /data/mysqlData /data/mysqlTmp
chown -R mysql.mysql /data/mysqlData /data/mysqlTmp
#配置环境变量
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
source /etc/profile
先编写/etc/my.cnf文件 ,然后再初始化数据库。
[mysql]
default-character-set=utf8mb4
[mysqld]
port = 3306
basedir=/usr/local/mysql/
datadir=/data/mysqlData
tmpdir=/data/mysqlTmp
default-storage-engine=INNODB
log-bin=mysql-bin
max_connections=5000
character-set-server=utf8mb4
expire_logs_days=7
log-bin-trust-function-creators=1
host_cache_size=0
lower_case_table_names=1
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
#初始化DB ,此时会出现临时密码。
mysqld --initialize --user=mysql
#查看是否有文件生成。
ll /data/mysqlData/
#以mysql用户 ,后台方式启动MySQL,mysqld_safe用于启动和监控MySQL服务器的脚本
mysqld_safe --user=mysql
#另开窗口登录mysql
mysql -uroot -p'xxxxx'
#修改密码,允许任何IP段登录。
ALTER USER 'root'@'localhost' identified by '123456';
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
flush privileges;
设置mysql开机自启、 systemctl 来启动。
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig --list
systemctl restart mysql
systemctl status mysql
systemctl enable mysql
lsof -i:3306
systemctl is-enabled mysql
参考博客:https://blog.csdn.net/huaz_md/article/details/138427557
其他杂谈
在此我试过使用yum方式 、 rpm包方式安装。但都有报错。
1、yum方式
#此时他会去官网镜像 update目录下,下载8.0.28-oe1的rpm包进行安装。
yum install mysql
像centos7直接yum安装mysql是直接能启动运行的。这里直接systemctl start mysql是会报错的。
也发现他的数据库都没初始化,看他的默认脚本/etc/init.d/mysql 里面的数据路径是 /data/mysql/data。
那就手动初始化数据库 ./bin/mysqld --initialize 。 初始化正常,出现临时密码。
然后 ./bin/mysqld_safe --user=mysql 启动。 能正常登录mysql,进去修改密码。
(kill -9 $(pgrep -f mysqld) )
但是!当我使用systemctl restart mysql,此时又报错了。跟刚开始执行systemctl start mysql的报错一样。
暂时放弃折腾。
2、 rpm包方式 (但包是el7的rpm)
包名:mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar
最初是报错缺依赖libcrypto.so.10,libssl.so.10,安装libopenssl10-1.0.2p-150000.3.91.1.x86_64.rpm后解决问题。
(将缺的依赖名称 ,放到rpmfind.net搜索后 能找到对应的rpm包)
处理完依赖后,正常的安装上对应的rpm包。但是执行mysql指令报错:mysql: relocation error: mysql: symbol SSL_accept version libssl.so.10 not defined in file libssl.so.10 with link time reference
#网上说升级openssl就行。这台电脑在之前修复过openssl升级过一次,但在这里没用。
暂无解。
END