赞
踩
开工之前:
检查是否已安装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 << EOF > /etc/my.cnf
- [mysql]
- default-character-set=utf8mb4
- [client]
- socket=/tmp/mysql.sock
- [mysqld]
- user=mysql
- basedir=/usr/local/mysql
- datadir=/usr/local/mysql/data
- pid-file=/usr/local/mysql/data/mysql.pid
- log-error=/usr/local/mysql/data/mysql.err
- character-set-server=utf8mb4
- collation-server=utf8mb4_bin
- port = 3306
- EOF
你也可以直接去FTP改文件,比较方便
6.添加环境变量
- vim /etc/profile
- 加上下面两行,也可以直接去ftp目录下改
- export MYSQL_HOME=/usr/local/mysql
- export PATH=$PATH:$MYSQL_HOME/bin
- source /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;
- show global variables like 'port'; //这个命令不能复制,只能手敲,别问,就是这么沙雕
查看端口号和配置文件是否相同,然后把这个端口号防火墙关闭:
- firewall-cmd --zone=public --add-port=3306/tcp --permanent //开放端口
-
-
- firewall-cmd --reload //重启防火墙,这个必须,否则不生效
然后去navicat上连一下,成功之后再去Navicat上处理账号问题,想删想改随你大小便。
到这儿基本是大功告成,我们只剩下没有配置开机自启和一键启停重启,这玩意儿都是小事儿,百度吧,写不动了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。