mysql 5.7 linux arm 64 安装

安装:

  1. 解压压缩包 tar xvf mysql-5.7.27-aarch64.tar.gz
  2. 添加mysql用户组和mysql用户,用于隔离mysql进程
    groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql
  3. 初始化mysql
    mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data (–initialize-insecure 表示root 无密码初始化,–initialize root 有密码初始化)
  4. 启动mysql
    mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
  5. 修改root密码
    不校验密码模式进去后执行:
    set password for root@localhost = password(‘qwer@1234’);

如果报错执行:flush privileges;

  1. 添加sa用户,并赋予root的权限:
    grant all privileges on . to ‘sa’@‘%’ identified by ‘qwer@1234’ with grant option;

%是host字段值,表示任何机器都可以登录,如果是localhost只有本机可以登录。
7. 为什么建议用mysqld_safe 启动mysql .
这是因为mysqld_safe是mysqld的守护进程,当我们用kill -9 关闭mysqld的进程时,会发现mysqld的进程关闭不了,会重新生成一个新的进程id, 原因就是mysqld_safe回监听mysqld的进程,当发现msyqld的进程如果关闭了,就会自动的重启这个mysqld。

  1. 关闭mysql
    ps -ef |grep mysql 后,直接使用kill 。(不要用systemctl stop mysqld)

错误解决:

  1. Fatal error: Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t exist
    需要重新初始化mysql, 执行mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data,如果还不行,执行:
    mysql_install_db --datadir=/usr/local/mysql/data

  2. Can’t find messagefile ‘mysql 基本目录/english/errmsg.sys’."

将cp /usr/share/mysql/english/errmsg.sys mysql基本目录/mysql (拷贝到错误提示的目录)

  1. 没生成mysql.sock文件
    Mysql没有正常启动,正常启动后才会生成mysql.pid 和mysql.sock ,通过mysql-error.log 日志定位未正常启动的原因。
  2. 文件权限问题
    很多问题都是文件权限问题引起的,如果新建目录或文件了(比如新建mysql-error.log文件,新建),记得执行
    chown -R mysql:mysql /usr/local/mysql (这个目录是mysql的baseDir 基本目录)
  3. /usr/local/mysql/data 比较重要,每次启动多会生成相关文件在此目录,此目录中的文件可以删除,初始化mysql后会重新生成。
  4. 初始安装时可以跳过密码校验,后面再设置
    mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables --user=mysql &
  5. Native table ‘performance_schema’.‘**’ has the wrong structure 报错,解决办法:
    Mysql 运行情况下执行:mysql_upgrade -u root -p

你可能感兴趣的:(Java,mysql,linux,arm)