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' ;
.