1.因个人需要 安装了JDK https://blog.csdn.net/kkkder/article/details/78349419
2.下载https://dev.mysql.com/downloads/mysql/5.7.html#downloads
3.上传到CentOS /root/temp目录下
4.使用root用户 创建mysql用户组 用户
groupadd mysql
useradd -g mysql mysql
5.把安装包复制到/usr/local目录下
cp /root/temp/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz /usr/local/
6. 解压 重命名解压后文件 删除安装包
tar -xvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
rm -rf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.23-linux-glibc2.12-x86_64/ mysql
7.创建data目录
cd /usr/local
mkdir mysql/data
cd mysql
8.给mysql用户、用户组赋权
chown -R mysql .
chgrp -R mysql .
9.设置mysql
cd bin
./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
此时报错:
[WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
[ERROR] Child process: /usr/local/mysql/bin/mysqldterminated prematurely with errno= 32
[ERROR] Failed to execute /usr/local/mysql/bin/mysqld --bootstrap --datadir=/usr/local/mysql/data --lc-messages-dir=/usr/local/mysql/share --lc-messages=en_US --basedir=/usr/local/mysql
-- server log begin --
-- server log end --
需要执行
yum install libaio
命令,用来安装依赖
10.启动mysql
cd /usr/local/mysql/support-files
./mysql.server start
启动成功
11.登录mysql
先查看登录密码(默认生成的密码)
cat /root/.mysql_secret
登录
mysql -uroot -p
首次登录 设置新密码
set password=password("root");
设置可远程登录
use mysql;
update user set host = '%' where user = 'root';
立即生效
flush privileges;
12.关闭防火墙
systemctl stop firewalld.service
13.数据库安装成功。在windows系统连接数据库
连接成功。
14.配置mysql的服务
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysql
配置后 可以用service mysql start启动
期间遇到了很多问题。无法联网、数据库安装成功后无法远程连接等,这类问题的解决方案,网上较多,请自行查阅。记录下困扰我一下午的问题:
问题描述:数据库安装成功后,使用mysql -uroot -p 登录MySQL,输入密码后,提示:“ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.”
明明第一次登录,密码却过期了。然后查阅资料:
1.有人说使用root用户登录 修改账号密码,不符合我这里出现的这个情况
2.有人说修改/etc/my.cnf文件,加上跳过密码校验的命令,然后使用命令登录MySQL的时候,依然提示输入密码。输入密码后,提示我是不用输入密码的。。。反正就是不给登录。
3.这种方案解决了我的问题:使用 /usr/local/mysql/bin/mysqladmin -u root -p password 命令登录,但是我再输入这个命令后,输入了密码,然后提示:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
很明显,/tmp/mysql.sock有问题,重新建立链接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock
再使用 /usr/local/mysql/bin/mysqladmin -u root -p password命令登录,输入密码后,输入新密码、确认新密码即可。
成功