在Linux上装mysql8.0所遇到的坑,以及开启mysql自动启动

本来以为mysql装起来分分钟搞定,结果搞了半天,一个个error还不带重样的.

看网上的Linux转mysql也是步骤并不简单, 而且mysql现在已经出到8.0.12版本了, 安装也和之前的有些不一样

前面的下载tar包这里省略不表,在linux解压的时候就遇到了第一个坑

1.xxxxx.tar.xz在解压的时候出问题

xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用tar -xvf xxx.tar来解包。

2.initialize specified but the data directory has files in it. Aborting初始化失败

这里就比较复杂,首先看一下my.cfg

vi /etc/my.cnf

这里把basedir(mysql的安装路径),datadir(数据库路径)配置好,比如:(这里需要先自己手动创建data的文件夹)

[mysqld]
datadir=/usr/local/database/mysql/mysql-8.0.12/data
basedir=/usr/local/database/mysql/mysql-8.0.12
character-set-server=utf8
port=3306

# socket=/var/lib/mysql/mysql.sock

# log-error=error.log


# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

再尝试初始化

cd /usr/local/database/mysql/mysql-8.0.12/
./bin/mysqld --initialize 

3.mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

这里也看到网上各种解决方法,但是自己觉得最直接的就是给他创建一个log文件夹

mkdir /var/log/mariadb 
touch /var/log/mariadb/mariadb.log 
chown -R mysql:mysql /var/log/mariadb/

4.mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.

这个结合上面我们的/etc/my.cnf,

第一种方法:
关于socket这一行,如果不做集群的话,把这行注释掉再试试就可以了

第二种方法:
我们看一下/var/lib,没有mysql文件夹

alternatives  chrony  dhclient  initramfs  machines  NetworkManager  plymouth  postfix  rpm-state  stateless  tuned
authconfig    dbus    games     logrotate  misc      os-prober       polkit-1  rpm      rsyslog    systemd    yum

第一步,缺什么创建什么

mkdir   /var/lib/mysql

第二部,赋予权限

chmod 777  /var/lib/mysql

5.The server quit without updating PID file

这里也是有很多原因,大多数原因还是权限的问题

红色框框中的路径拷贝

# chown -R mysql.mysql 拷贝的文件夹路径
chown -R mysql:mysql /usr/local/database/mysql/mysql-8.0.12/data

finally!!!

但是这里只是算是迈出了第一步,要想真正使用mysql,后面还有设置需要做

6.添加到系统服务自动启动

cd 到mysql安装文件夹目录,设置权限

cp -a ./support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/rc.d/init.d/mysqld    

chkconfig --add mysqld

可以检查一下服务是否生效

chkconfig  --list

在Linux上装mysql8.0所遇到的坑,以及开启mysql自动启动_第1张图片

7.配置全局环境变量

vi /etc/profile

export MYSQL_HOME=/usr/local/database/mysql/mysql-8.0.12

PATH=/data/mysql/bin:/data/mysql/lib:$PATH

保存退出,使环境变量生效

source /etc/profile

8. 启动mysql服务,关闭和重启

service mysql start
service mysql stop
service mysql restart

你可能感兴趣的:(mysql,Linux,error,数据库)