Linux系统mysql8源码安装(适用任何linux,包括麒麟v10)
# 先删除自带的mysql rpm -qa | grep mariadb rpm -qa | grep mysql # 找到后(--nodeps忽略依赖进行删除) rpm -e --nodeps 包名 1.下载安装包 (https://dev.mysql.com/downloads/mysql/8.0.html?os=2) centos选Red Hat Enterprise Linux / Oracle Linux 如果使用rpm,可以参看:https://ssword.cn/f/view-4-34be7f7e9e90443e8f34436279c3ec78.html 如果使用源码编译,则继续往下看。 其他linux的系统选Linux - Generic 选择适合的 cpu版本,系统位数,glibc版本。 需要注意的是,glibc版本选高了,可能导致初始化异常。 以麒麟v10 Linux为例子,其只能安装 mysql-8.0.34-linux-glibc2.17-aarch64.tar.gz(glibc2.17,ARM,64) 如果使用 mysql-8.0.34-linux-glibc2.28-aarch64.tar.gz(glibc2.28,ARM,64) 就会在初始化时报异常:error while loading shared libraries: libcrypto.so.3: ELF load command alignment not page-aligned 2.解压安装包 # 解压 tar -zxvf mysql-8.0.34-linux-glibc2.17-aarch64.tar.gz # 重命名为mysql8 mv mysql-8.0.34-linux-glibc2.17-aarch64 mysql8 mv mysql8 /opt/ 3.创建用户组并授权 # 创建用户组 groupadd mysql # 创建用户 useradd -g mysql mysql # 授权 chown -R mysql.mysql /opt/mysql8 4.初始化数据(chown需要每个文件夹搞一下,不知道为啥...) # 创建数据存放目录 mkdir /data/mysql/data mkdir /data/mysql/logs chown -R mysql.mysql /data/mysql chown -R mysql.mysql /data/mysql/data chown -R mysql.mysql /data/mysql/logs # 初始化数据 初始化前新建文件/etc/my.cnf,添加如下内容 [mysqld] basedir=/opt/mysql8 datadir=/data/mysql/data port=3306 log-error=/data/mysql/logs/error.log # 仅当初始化化数据时设置有效(忽略表名大小写) lower_case_table_names=1 然后 cd /opt/mysql8/bin/ sudo ./mysqld --user=mysql --basedir=/opt/mysql8 --datadir=/data/mysql/data --lower_case_table_names=1 --initialize # 记录临时密码,一般控制台最后一行,也可以在/data/mysql/logs/error.log查询 内容如下: A temporary password is generated for root@localhost: :yAw,yD+u2*0 5.添加mysqld到系统服务 # 复制命令到 /etc/init.d/目录 cp -a /opt/mysql8/support-files/mysql.server /etc/init.d/mysql # 修改 mysql 中变量: basedir & datadir vim /etc/init.d/mysql .... basedir=/opt/mysql8 datadir=/data/mysql/data .... #受权&添加服务 chmod +x /etc/init.d/mysql chkconfig --add mysql # 启动服务(如果报log-error set to '/data/mysql/logs/error.log', however file don't exists,帮他新建一个error.log就好了) service mysql start # 查看服务状态 service mysql status 6. 建立软链接,方面使用(可选) ln -s /opt/mysql8/bin/mysql /usr/bin 7.修改密码 # 进入mysql命令行,输入临时密码 mysql -uroot -p #修改密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; # 生效 flush privileges; # 修改远程访问 可选(如果远程连不上,看下配置文件里的bind-address是不是0.0.0.0) use mysql; update user set host='%' where user='root'; flush privileges; 备注: 1 .错误:error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 解决方法: # 安装缺少依赖 yum install libaio-devel.x86_64 2.错误: 3680 - Failed to create schema directory '****' (errno: 2 - No such file or directory) 产生原因:创建完数据库,手动把datadir移动到其他地方 解决方法:(权限不足) # 修改文件拥有者(当mysql是以mysql用户启动时修改) chown -R mysql.mysql /data/mysql/data # 文件权限 chmod 640 文件名 # 文件夹权限 chmod 750 文件夹名 3 .错误:mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory 解决方法: # 建立软链接 ln -s /lib64/libtinfo.so.6 /lib64/libtinfo.so.5 版权声明:本文为CSDN博主「dubhe_zhao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/dubhe_zhao/article/details/125387728
发布者:songJian 点击数:85 发布时间:2023-08-17 12:31:03 更新时间:2023-08-17 16:50:35
正在加载评论...