开工之前:
检查是否已安装MySQL
查看是否已经安装MySQL
rpm -qa|grep mysql
删除已经安装的MySQL
rpm -e –nodeps mysql-libs*
检查是否安装mariadb
rpm -qa | grep mariadb-libs
例:mariadb-libs-5.5.56-2.el7.x86_64
卸载mariadb
yum remove -y mariadb-libs-5.5.56-2.el7.x86_64
1. 添加mysql用户组和mysql用户,用于隔离mysql进程
# groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql
2.安装依赖库
# yum install -y libaio*
3. 下载解压Mysql
# wget https://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gz# tar -xvf mysql-5.7.27-aarch64.tar.gz -C /usr/local/
4.一顿操作
# mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql //移动文件# mkdir -p /usr/local/mysql/logs //创建文件夹# chown -R mysql:mysql /usr/local/mysql //配置权限# ln -sf /usr/local/mysql/my.cnf /etc/my.cnf# cp -rf /usr/local/mysql/extra/lib* /usr/lib64/# mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.old# ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6
5.修改mysql配置文件
cat < /etc/my.cnf[mysql]default-character-set=utf8mb4[client]socket=/tmp/mysql.sock[mysqld]user=mysqlbasedir=/usr/local/mysqldatadir=/usr/local/mysql/datapid-file=/usr/local/mysql/data/mysql.pidlog-error=/usr/local/mysql/data/mysql.errcharacter-set-server=utf8mb4collation-server=utf8mb4_binport = 3306EOF
你也可以直接去FTP改文件,比较方便
6.添加环境变量
vim /etc/profile 加上下面两行,也可以直接去ftp目录下改export MYSQL_HOME=/usr/local/mysqlexport PATH=$PATH:$MYSQL_HOME/binsource /etc/profile
7.初始化
# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --explicit_defaults_for_timestamp=true
这个命令执行之前,必须确保/usr/local/mysql/data目录存在并且一定要为空目录,否则报错;
这个命令执行完之后,会生成一个临时密码,在data文件夹下(路径/usr/local/mysql/data/mysql.err),冒号后面的就是密码
8.启动服务尝试登录
cd /usr/local/mysql/support-files./mysql.server start
开始尝试登录
mysql -uroot -p // 登录,此时会让你输入密码,输入刚才的临时密码
如果登录成功了,直接往下走,修改密码,不用看下个代码段
如果报错参考下面的方法,使用安全模式登录:先把mysql的进程都杀掉ps -aux | grep mysql | grep -v grep //查看进程kill -9 XXXXX //XXXXX是进程号全部杀掉后继续查看进程,没有显示,证明杀光了,然后进入安全模式cd /usr/local/mysql/bin./mysqld_safe --skip-grant-tables修改root密码use mysql update user set password=password("你想要的密码") where user="root";flush privileges;
正常修改密码:
mysql> update mysql.user set authentication_string=password('*******') where user='*******'; #修改密码成功
创建一个用户:
create user 'username'@'host' identified by 'password';创建账号为username,密码为password的用户
host 改为 % 意思是可以外网访问
grant all privileges on *.* to 'username'@'%' identified by 'password';flush privileges; //赋予username所有权限
root用户配置外网访问
use mysql;update user set host='%' where user = 'root';flush privileges;
为什么要整两遍呢,怕你出现啥错误,反正root和username只要有一个能登陆就行,我们的目的是只要能登录啥都好说,剩下的事去navicat上解决,切记调试的时候修改配置文件记得重启服务:/etc/init.d/mysqld restart
查看端口命令 :use mysql;showglobalvariableslike'port'; //这个命令不能复制,只能手敲,别问,就是这么沙雕
查看端口号和配置文件是否相同,然后把这个端口号防火墙关闭:
firewall-cmd --zone=public --add-port=3306/tcp --permanent //开放端口firewall-cmd --reload //重启防火墙,这个必须,否则不生效
然后去navicat上连一下,成功之后再去Navicat上处理账号问题,想删想改随你大小便。
到这儿基本是大功告成,我们只剩下没有配置开机自启和一键启停重启,这玩意儿都是小事儿,百度吧,写不动了