安装环境centos7.5,mysql版本mysql-8.0.20-linux-glibc2.12-x86_64.tar编译版安装
前置操作,将mysql文件解压缩至/usr/local路径下,根据官网提升操作进行https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html
cd mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
bin/mysqld –initialize –user=mysql
在初始化时,提示bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory报错,原因是需要安装 libnuma .so.1 组件
通过yum install -y libnuma.so.1 后,还是无法解决。
通过yum install -y numactl解决
解决libnuma.so问题后,继续跟着官网文档操作进行
bin/mysqld –initialize –user=mysql
此时,执行初始化后正常运行,结果有产生初始化的随机秘密,作为首次登陆使用A temporary password is generated for root@localhost: P_tC4Jqw)WBj
bin/mysql_ssl_rsa_setup
bin/mysqld_safe –user=mysql
执行安全启动时,出现:2020-05-17T13:40:08.300309Z mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log’, however file don’t exists. Create writable for user ‘mysql’.问题,提示log文件不存在,需要为mysql用户创建,这时可以手动创建这个路径
解决这个路径方式有很多,可以在my.cnf中更改log路径,我没有更改,使用默认路径
mkdir -p /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
执行完后,在运行 bin/mysqld_safe –user=mysql ,提示正常
启动mysql
support-files/mysql.server start
使用root登陆
bin/mysql -uroot -p
输入随机生成的密码之后,提示找不到msyql.sock文件
Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
此时,在使用root链接mysql,使用随机秘密后,可以正常链接
链接进入mysql后,首次需要设置密码:
- SET PASSWORD = PASSWORD(‘新密码’);
- ALTER USER ‘root’@’localhost’ PASSWORD EXPIRE NEVER;
- FLUSH PRIVILEGES;
在安装mysql8时,根据官网操作文档,还出现的问题有:
1.库依赖的问题, 在初始化mysql时出现, bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory ,需要根据提示出现的问题单独安装
2. /var/log/mariadb/mariadb.log 文件不存在,在编译版mysql8的my.cof文件中,可以通过cat /etc/my.cnf查看配置信息,可以根据自身系统进行合理配置路径,我使用的是系统默认的配置信息,足够使用。 需要手动make配置的文件夹,同时mysql用户需要有写入的权限
3.root首次连接msyql时提示 /tmp/mysql.sock 文件不存在,根据my.cof配置的信息,默认sock在socket=/var/lib/mysql/mysql.sock这个路径下,可以使用软连接 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 解决