CentOS7安装mysql5.6.40.tar.gz

1.CentOS7一般会自带数据库 mariadb,MariaDB数据库管理系统是MySQL的一个分支,完全兼容mysql但这会影响我们安装mysql,所以在安装mysql前,要把mariadb删除干净

执行如下命令查看是否有安装 mariadb

# rpm -qa|grep mariadb

我的系统上显示已安装

mariadb-libs-5.5.56-2.el7.x86_64

需要执行如下命令卸载删除

# yum remove mariadb-libs-5.5.56-2.el7.x86_64

2.上传mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 到 目录 /usr/local

执行如下命令解压文件; 并重命名解压后的目录为 mysql; 完成后目录为 /usr/local/mysql

# tar -zxvf  mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz

3.执行如下命令添加mysql用户组和用户

# groupadd mysql;

# useradd -r -g mysql mysql

4.压缩包解压后里面有个目录是data,即/usr/local/mysql/data,我们就用该目录存放数据库数据

5.执行如下命令授权 /usr/local/mysql 目录给用户 mysql

# chown -R mysql:mysql /usr/local/mysql

6.执行如下命令初始化数据库

进入mysql目录

# cd /usr/local/mysql

# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

******有警告

[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

意思是explicit_defaults_for_timestamp 不推荐默认,所以最好加上该参数值的设置

改初始化命令如下

# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --explicit_defaults_for_timestamp=true

******有报错

[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

需要先初始化权限相关等数据库表

执行如下命令

#./scripts/mysql_install_db --user=mysql  (注意此命令在/usr/local/mysql目录下执行)

执行成功,此时可以看到/usr/local/mysql目录下生成了my.cnf 文件

此时再执行

#./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --explicit_defaults_for_timestamp=true

最后显示

./bin/mysqld: ready for connections.

Version: '5.6.40'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)

表示数据库安装启动成功

此时再打开一个ssh会话,登录到服务器

执行如下命令

# cd /usr/local/mysql

# ./bin/mysql

显示不需要密码就可以链接上mysql服务器,说明mysql服务器安装成功。

7.如下方法 关闭上一步中成功启动起来的mysql服务器,

查找mysql服务器的进程

# ps -ef | grep mysql

显示如上图 6210 就是已运行的mysql的进程id

# kill 6210

此时如果执行 service mysql start 命令,仍旧不能成功启动 mysql服务器,显示报错

Redirecting to /bin/systemctl start mysql.service

Failed to start mysql.service: Unit not found.

这是因为 /etc/init.d 中没有 mysql 的服务

执行如下命令,复制的同时重命名

# cp  /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysql

然后执行

# service mysql start

显示

Starting MySQL. SUCCESS!

mysql服务成功启动

另外,也可以用 service mysql stop 来停止mysql服务器了

8.给mysql root用户设置密码

上面安装成功的 mysql 不需要密码就可以登录

下面给mysql 的root用户设置密码

# mysql

# use mysql

# update user set password=password('pwd') where user='root';  (pwd是密码明文)

# flush privileges;

# exit;

此时再输入mysql 已经不能登录mysql服务器了,需要用户名和密码了

# mysql -u root -p

按提示输入密码即可登录

mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 下载 https://pan.baidu.com/s/195cYwF9TtM7GA2HLlcIRKg

你可能感兴趣的:(CentOS7安装mysql5.6.40.tar.gz)