第一步: 下载mysql
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
第二步: 将刚才下载的压缩包移到/usr/local目录下
解压
tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
重命名
mv mysql-5.7.29-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.29
第三步: 检测系统是否自带Mysql
rmp -qa|grep mysql
如果有就删除
rpm -e --nodeps mysql-xxxxx
第四步: 卸载系统自带的Mariadb
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
第五步: 创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
第六步: 创建数据目录并赋予权限
创建mysq数据目录
mkdir -p /data/mysql
赋予权限
chown mysql:mysql -R /data/mysql
第六步:配置参数
执行
vi /etc/my.cnf
然后 按 i 进入编辑模式,把下面内容复制进去
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql/mysql-5.7.31
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
编辑完后 按esc 后按住 shift+: 输入 wq表示保存并退出 。
第七步:初始化mysql
cd /usr/local/mysql/mysql-5.7.31/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/mysql-5.7.31/ --datadir=/data/mysql/ --user=mysql --initialize
执行上面哪一步可能会报下面的错误
解决方法:
yum install -y libaio
安装后再初始化就OK了
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/mysql-5.7.31/ --datadir=/data/mysql/ --user=mysql --initialize
查看初始密码,复制出来
cat /data/mysql/mysql.err
第八步:启动mysql,并更改root 密码
先将mysql.server放置到/etc/init.d/mysql中。
cp /usr/local/mysql/mysql-5.7.31/support-files/mysql.server /etc/init.d/mysql
启动
service mysql start
查看是否启动
ps -ef|grep mysql
更改密码
cd /usr/local/mysql/mysql-5.7.31/bin
mysql -u root -p
可能会出现下面错误
解决办法:
把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下:
cd /usr/local/bin
ln -fs /usr/local/mysql/mysql-5.7.31/bin/mysql mysql
提示输入密码,把刚才赋值的密码粘过来。
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
虚拟机创建的linux, 远程工具可能连不上
解决办法:
先登录mysql
mysql -u root -p
访问mysql库
use mysql
使root能再任何host访问
update user set host = '%' where user = 'root';
刷新
flush privileges;
然后远程连接,可能会连接不上
解决方法
下面是阿里云