resources from: https://blog.csdn.net/qq_37598011/article/details/93489404
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
1.解压
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
2.移动并重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
3.创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
4.创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
5.配置my.cnf
vim /etc/my.cnf
--------
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
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
-------------
6.进入mysql的bin目录
cd /usr/local/mysql/bin/
7.初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
8.查看密码
cat /data/mysql/mysql.err
9.先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
10.启动
service mysql start
ps -ef|grep mysql
到这里说明mysql已经安装成功了!!
下面修改密码
1.首先登录mysql,前面的那个是随机生成的。
./mysql -u root -p #bin目录下
再执行下面三步操作,然后重新登录。
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
2.如果不希望每次都到bin目录下使用mysql命令则执行以下命令
ln -s /usr/local/mysql/bin/mysql /usr/bin
-------------------------------------------------------------------------
ERRORS & SOLUTIONS:
1.执行 mysql -u root -p 时报错:
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
原因:mysql在启动时发现缺少 libncurses.so.5 这个依赖,并且在/usr/lib以及/lib中也无法找到该依赖
解决:(1)在/usr/lib、/lib、/usr/lib64中寻找一个大于或者等于该依赖版本的依赖文件,我的是在/usr/lin64中找到了一个libncurses.so.6.1,然后建立一个软链接(相当于快捷方式):
sudo ln -s 文件路径 快捷方式路径
sudo ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5
(2)查看MYSQL的依赖
$ cd /usr/local/mysql/bin
$ ldd mysql
mysql -uroot -pmagedu
ln -sf libtinfo.so.6.1 libtinfo.so.5
2.重置密码遇到ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:yes)问题
重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
#vim /etc/my.cnf(注:windows下修改的是my.ini)
在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
3.登录时提示密码错误
旧版本的更改密码输入格式:
update mysql.user set password=password('12345678') where user='root'时提示:ERROR 1054 (42S22): Unknown column 'password' in 'field list'
原来是新版本的mysql数据库下已经没有password这个字段了,password字段正式改成了authentication_string字段
所以新版本mysql57需要更改语句替换为:
4update MySQL.user set authentication_string=password('root') where user='root' ;
.