首先说明:老版本数据库没有数据,所以无数据备份过程。如果你在升级数据库过程里,需要备份数据,请另外自行处理。

1、下载最新版MySQL、解压待用

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz #下载
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz #解压
cp -r mysql-5.7.18-linux-glibc2.5-x86_64 /usr/local/mysql #复制到安装目录

2、添加用户

#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql

3、创建数据文件存放目录(没有放在MySQL默认的目录)

mkdir /datas
mkdir /datas/mysql
chown -R mysql.mysql /datas/mysql
chmod /datas/mysql

4、卸载老版本(这里可能会遇到各种问题)

rpm -qa|grep -i mysql #查找已有的包,当时我有2个(php-mysql-5.4.16-42.el7.x86_64、perl-DBD-MySQL-4.023-5.el7.x86_64)
rpm -ev php-mysql-5.4.16-42.el7.x86_64 #删除其中一个,正常,然后另外一个删不掉,有依赖安装包
yum -y remove perl-DBD-MySQL #这样才终于卸载掉

具体这个步骤,参考这里,感谢原作者:

http://www.cnblogs.com/kerrycode/p/4364465.html

http://blog.csdn.net/tjcyjd/article/details/52189182

http://www.jb51.net/os/RedHat/80289.html

5、安装新的MySQL,当前用户在 /var/local/mysql/ 目录下:

./bin/mysqld --initialize --user=mysql --datadir=/datas/mysql #安装
./support-files/mysql.server start #启动服务 这里有可能无法启动,问题:mysqld_safe error不能创建错误日志文件
cd /var/log/mariadb/
vi mariadb.log #新建一个文件
chown mysql.mysql mariadb.log
chmod 777 mariadb.log
再启动就ok了
参考,感谢原作者:http://tieba.baidu.com/p/5103002724 ps aux | grep mysql #查看一下进程
/usr/local/mysql/bin/mysql -V #查看版本,是不是正确的,或者登陆后用命名查看: SELECT VERSION();

6、安装正常后,就是初始配置了。包括:修改root密码、修改端口、允许用户远程登陆

不过安装过程,要注意,有个初始密码【(YngqRv7m).e】(每次每个人都不同,先记着,一会儿登陆的时候用):

--29T02::.092807Z  [Note] A temporary password is generated for root@localhost: (YngqRv7m).e

端口:

vi /etc/my.cnf #编辑配置文件

修改如下:

[mysqld]
datadir=/datas/mysql
port=33316

[client]
port=33316

修改root用户:

登陆mysql:

/usr/local/mysql/bin/mysql -uroot -p

如果报错 Can’t connect to local MySQL server through socket

应该是“/etc/my.cnf”配置文件的问题了。解决办法是修改“/etc/my.cnf”配置文件,在配置文件中添加“[client]”选项和“[mysql]”选项,并使用这两个选项下的“socket”参数值,与“[mysqld]”选项下的“socket”参数值,指向的socket文件路径完全一致。如下,继续修改my.cnf。参考,感谢作者: http://www.aiezu.com/db/mysql_cant_connect_through_socket.html

[mysqld]
datadir=/datas/mysql
socket=/var/lib/mysql/mysql.sock
port= [client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
port= [mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

然后登陆进去,修改root

/usr/local/mysql/bin/mysql -uroot -p #然后输入上面记下的密码 (YngqRv7m).e
操作可能会报错:

mac mysql error You must reset your password using ALTER USER statement before executing this statement.
安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个。那么:

SET PASSWORD = PASSWORD('your new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;

完成以上三步退出再登,使用新设置的密码就行了。参考,感谢作者:http://www.cnblogs.com/debmzhang/p/5013540.html

然后是设置允许远程登录:

需要手动增加可以远程访问数据库的用户。

方法一、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"

mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

方法二、直接授权(推荐)

  从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES

我用方法一不行,继续方法二才好。没测试是不是方法执行了还需要重启mysql,按道理应该不用。

参考,感谢作者:http://www.cnblogs.com/hyzhou/archive/2011/12/06/2278236.html

另外,添加用户,或者修改其他用户的密码,直接参考:http://blog.csdn.net/adu198888/article/details/54092857

#给用户test赋予所有库和表的部分权限(所以权限是: all privileges)
grant select,delete,update,create,drop on *.* to test@"%" identified by "1234"; #修改用户密码
update mysql.user set authentication_string=password('密码') where User='test' and Host='localhost';
flush privileges;

另外附:

有时候mysql报错:Got a packet bigger than 'max_allowed_packet' bytes

然后命令查看和配置文件里查看的max_allowed_packet结果不一样(命令查询是1024):

show VARIABLES like '%max_allowed_packet%';    #结果为1024

那就考虑是因为服务器的内存太小,被MySQL重置为1024了。

解决办法是:1、重启MySQL,就好了;2、根本解决办法是服务器加内存。

 

cenos下安装MySQL最新版(5.7.18)记录。附卸载老版本过程的更多相关文章

  1. 修改visual studio setup 安装顺序(解决新版安装包无法自动移除老版本程序的问题)

    背景 visual studio setup 支持自动删除之前版本的安装,需要设置RemovePreviousVersions = true, DetectNewerInstalledVersion ...

  2. CentOS 6.5下安装MySQL 5.6.21

    Linux中使用最广泛的数据库就是MySQL,使用在线yum的方式安装的版本落后MySQL网站好几个小版本,本节亲自测试安装新版的MySQL. 测试机器环境: VMware Workstation 1 ...

  3. 在Ubuntu 18.04 下安装mysql,没有初始密码,重设root密码

    在Ubuntu 18.04 下安装mysql 不知道是由于mysql更新为新版还是.Ubuntu18.04中的特性,安装过程中没有设置密码的环节,在网络上找了半天,总算解决了!特此记录下来,以便以后查 ...

  4. Linux下安装 MySQL

    Ubuntu环境 使用二进制安装包安装,相对简单绿色 1.到官网下载二进制压缩包http://dev.mysql.com/downloads/mysql/ 2.选择需要的版本 目前最新为5.7.之后选 ...

  5. Ubuntu 下安装 Mysql

    这里讲用Ubuntu下安装MySql ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server   2. apt-get ...

  6. ubuntu 下安装mysql,以及配置远程登录

    安装MysQL 在Ubuntu14.04下安装MySQL比较简单,只需下面这条命令就行了: 1.输入 sudo apt-get install mysql-server 2.继续执行后,需要设定MyS ...

  7. CentOS7下安装Mysql和Memcached 以及 使用C#操作Mysql和Memcached

    我本身是学.net的,但是现在很多主流SQL和NOSQL都是部置在linux下,本着好学的精神,前段时间装了个虚拟机,在其装上CentOS64位的服务器系统,对于英文0基础,linux0基础的我来说, ...

  8. RPM方式安装MySQL5.6和windows下安装mysql解压版

    下载地址: http://cdn.MySQL.com/archives/mysql-5.6/MySQL-server-5.6.13-1.el6.x86_64.rpmhttp://cdn.mysql.c ...

  9. centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记

    centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记 目录[-] 过程 1.安装RVM 2.利用rvm安装 Ruby 1.9.3 并设为默认 3.安装rails 4.安装 ...

随机推荐

  1. Linux 服务器命令,持续更新……

    记录一下常用命令给自己备忘备查,会持续更新-- 一.查看和修改Linux的时间 1. 查看时间和日期,命令: date 2.设定时间和日期 例如:将系统日期修改成2020年2月14日12点的命令: d ...

  2. [NOI 2015]品酒大会

    Description 题库链接 \(n\) 杯鸡尾酒排成一行,其中第 \(i\) 杯酒 (\(1 \leq i \leq n\)) 被贴上了一个标签 \(s_i\),每个标签都是 \(26\) 个小 ...

  3. JavaScript之八皇后问题(递归)

      八皇后问题,是一个古老而著名的问题,该问题最早由国际西洋棋棋手马克斯·贝瑟尔(Max Bezzel)于1848年提出.八皇后问题的具体描述为:在\(8\times8\)的国际象棋上摆放8个皇后,使 ...

  4. VB.NET网络是否联通Function

    ''' <summary>    ''' IP Ping    ''' </summary>    ''' <param name="strIpOrDName& ...

  5. 【Core】在mvc使用EF

    引用DLL: 继续上一篇的内容我们来添加EF实体: 首先:工具> NuGet程序包管理器>程序包管理器控制台: Install-Package Microsoft.EntityFramew ...

  6. Linux-iconv命令之批处理(18)

    iconv命令是用来转换文件的编码方式的,比如它可以将UTF8编码的转换成GB18030的编码,反过来也行 常用选项 -f font1 :(from)将font1型的字符编码进行转换 -t font2 ...

  7. Java,第16天,属性与方法;

    public class 类名{ private double 财产 = 0://设一个财产的属性: public void 一个月工资(){ this.财产 +=4500: }//设一个方法增加财产 ...

  8. cgi、fastcgi及php-fpm分别是什么

    cgi cgi是通用网关接口定义.当web server收到/index.php这个请求后,会启动对应的CGI程序,这里就是PHP的解析器.接下来PHP解析器会解析php.ini文件,初始化执行环境, ...

  9. HTML5 template元素

    前言 转自http://www.zhangxinxu.com/wordpress/2014/07/hello-html5-template-tag/ 在单页面应用,我们对页面的无刷新有了更高的要求,H ...

  10. ajax小知识

    1.ajax发送get请求时,需要注意如下情况: var uri="http://127.0.0.1:8071/springmvcdemo/bigdataapi/publishdata&qu ...