mysql 5.7 linux arm 64 安装
·
安装:
- 解压压缩包 tar xvf mysql-5.7.27-aarch64.tar.gz
- 添加mysql用户组和mysql用户,用于隔离mysql进程
groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql - 初始化mysql
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data (–initialize-insecure 表示root 无密码初始化,–initialize root 有密码初始化) - 启动mysql
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql & - 修改root密码
不校验密码模式进去后执行:
set password for root@localhost = password(‘qwer@1234’);
如果报错执行:flush privileges;
- 添加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。
- 关闭mysql
ps -ef |grep mysql 后,直接使用kill 。(不要用systemctl stop mysqld)
错误解决:
-
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 -
Can’t find messagefile ‘mysql 基本目录/english/errmsg.sys’."
将cp /usr/share/mysql/english/errmsg.sys mysql基本目录/mysql (拷贝到错误提示的目录)
- 没生成mysql.sock文件
Mysql没有正常启动,正常启动后才会生成mysql.pid 和mysql.sock ,通过mysql-error.log 日志定位未正常启动的原因。 - 文件权限问题
很多问题都是文件权限问题引起的,如果新建目录或文件了(比如新建mysql-error.log文件,新建),记得执行
chown -R mysql:mysql /usr/local/mysql (这个目录是mysql的baseDir 基本目录) - /usr/local/mysql/data 比较重要,每次启动多会生成相关文件在此目录,此目录中的文件可以删除,初始化mysql后会重新生成。
- 初始安装时可以跳过密码校验,后面再设置
mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables --user=mysql & - Native table ‘performance_schema’.‘**’ has the wrong structure 报错,解决办法:
Mysql 运行情况下执行:mysql_upgrade -u root -p
更多推荐
所有评论(0)