1.安装之前的准备

  • 卸载centos7自带的mariadb

rpm -qa|grep mariadb #查看一下是否有mariadb相关的包 rpm -e —nodeps mariadb-libs-5.5.52-1.el7.x8664 #把查询到的包卸载_

  • 下载mysql安装包

wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.60.tar.gz

  • 下载cmake安装包

wget https://cmake.org/files/v3.10/cmake-3.10.2.tar.gz

  • 添加mysql用户和组

groupadd mysql useradd mysql -s /sbin/nologin -M -g mysql # -s /sbin/nologin 表示禁止该用户登录,加强安全; -g mysql 指定属于mysql组; -M 表示不创建用户家目录

  • 安装ncurses-devel

yum install ncurses-devel -y

  • 安装cmake

tar zxvf cmake-3.10.2.tar.gz -C /usr/local cd /usr/local/cmake-3.10.2 ./configure gmake && gmake install

查看是否安装
[root@ecs-test1 ~]# gcc -v
-bash: gcc: command not found
[root@ecs-test1 ~]# g++ -v
-bash: g++: command not found
或者:
[root@ecs-test1 ~]# rpm -q gcc
package gcc is not installed
[root@ecs-test1 ~]# rpm -q gcc-c++
package gcc-c++ is not installed
安装gcc、g++编译器
1. 安装gcc、g++
yum install gcc
yum install gcc-c++
./bootstrap —prefix=/usr/local/cmake
gmake
gmake install
查看所有安装的文件位置信息
more install_manifest.txt

2.安装myqsl
tar zxvf mysql-5.5.9.tar.gz cd mysql-5.5.9 cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.9 -DMYSQL_DATADIR=/application/mysql-5.5.9/data -DMYSQL_UNIX_ADDR=/application/mysql-5.5.9/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0
make && make install

  • 做软连接

ln -s /application/mysql-5.5.9/ /application/mysql

  • mysql目录授权

chown -R mysql:mysql /application/mysql-5.5.9/

  • 复制相关文件

cd /application/mysql/support-files cp my-small.cnf /etc/my.cnf cp mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld

  • mysql初始化

cd /application/mysql/scripts/ ./mysql_install_db —basedir=/application/mysql/ —datadir=/application/mysql/data/ —user=mysql

  • 启动mysql

/etc/init.d/mysqld start

  • 配置环境变量

echo ‘export PATH=/application/mysql/bin:$PATH’>>/etc/profile source /etc/profile

  • 配置登陆密码

/application/mysql//bin/mysqladmin -u root password ‘198112Long’

  • 设置mysql开机启动

chkconfig mysqld on chkconfig —list mysqld #查看一下

  • 登录mysql

正常的情况是可以正常登陆进去的,但是我在登录的时候报了以下错误信息:
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
解决方法:

  • 1.停止mysql数据库

/etc/init.d/mysqld stop

  • 2.执行如下命令

mysqld_safe —user=mysql —skip-grant-tables —skip-networking &

  • 3.使用root登录mysql数据库

mysql -u root mysql

  • 4.更新root密码

UPDATE user SET Password=PASSWORD(‘198112Long’) where USER=’root’;

  • 5.刷新权限

FLUSH PRIVILEGES;

  • 6.退出mysql
  • 7.重启mysql

/etc/init.d/mysqld restart

  • 8.使用root用户重新登录mysql

CREATE DATABASE foot CHARACTER SET utf8 COLLATE utf8_general_ci;

数据库导入:
语法格式:mysql -h ip -u userName -p dbName < sqlFilePath (最后没有分号)
-h : 数据库所在的主机。如果是本机,可以使用localhost,或者省略此项;
-u : 连接数据库用户名。
-p : 连接数据库密码。出于安全考虑,一般不在-p之后直接写出明文的密码。整个命令回车之后,数据库会要求输入密码,那个时候再输入密码将以**的形式显示出来。有一定的保护作用。
dbName : 要使用的具体的某个数据库。这个不是必须的,如果sql脚本中没有使用“use dbName”选择数据库,则此处必须制定数据库;如果使用了”use dbName”,则可以省略。
sqlFilePath : sql脚本的路径。如我将sql脚本放在了D盘,我的sql脚本的名字是”test_sql.sql”。则路径为”D:\test_sql.sql”。

CentOS 7.2 yum方式安装MySQL 5.7

下载mysql的源

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

安装yum库

yum localinstall -y mysql57-community-release-el7-7.noarch.rpm

安装MySQL

yum install -y mysql-community-server

启动MySQL服务

systemctl start mysqld.service

MySQL5.7加强了root用户的安全性,因此在第一次安装后会初始化一个随机密码,以下为查看初始随机密码的方式
grep ‘temporary password’ /var/log/mysqld.log
结果如下:

使用初始随机密码登录后MySQL会强制要求修改密码,否则无法正常使用,(密码必须包含小写、大写字母及特殊字符,当然也有其他方法不受此限制,再次不多做描述),修改方法如下:

SET PASSWORD = PASSWORD(‘your new password’); ALTER USER ‘root’@’localhost’ PASSWORD EXPIRE NEVER;

flush privileges;
然后退出后即可用新密码登录。

远程连接授权:

GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘your password’ WITH GRANT OPTION;

开通端口(默认3306):

firewall-cmd —add-port=3306/tcp

安装成功后,开启 mysql 服务:
systemctl start mysqld.service
查看 3306 端口是否开启:
netstat -ln | grep 3306

修改配置文件my.cnf 按i编辑

skip-grant-tables

重启mysql服务
service mysqld restart

用户登录

mysql -uroot -p (直接点击回车,密码为空)

选择数据库

use mysql;
下面我们就要修改密码了
以前的版本我们用的是以下修改
update user set password=password(‘root’) where user=’root’;
但是在5.7版本中不存在password字段,所有我们要用以下修改进行重置密码

update user set authentication_string=password(‘1qazxsw2’) where user=’root’;
执行
flush privileges;
退出
quit;

SET PASSWORD = PASSWORD(‘1qazxsw2’); ALTER USER ‘root’@’localhost’ PASSWORD EXPIRE NEVER;