Centos7 安装mysql5.7.16

1、下载mysql5.7.16安装包

#wget http://dev.MySQL.com/get/Downloads/mysql-5.7/mysql-5.7.16-Linux-glibc2.5-x86_64.tar.gz

 

 

2.创建用户、创建安装文件夹

#groupadd mysql

#useradd -r -g mysql mysql

#mkdir /usr/local/mysql/

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

 

 

3.解压,拷贝

#tar -xvzf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

#cd mysql-5.7.16-linux-glibc2.5-x86_64/

#mv * /usr/local/mysql/

 

--已安装,可省略

# yum install libaio

 

 

4、创建日志目录

# mkdir /var/log/mariadb/

# chown mysql:mysql /var/log/mariadb/

# mkdir /var/run/mariadb

# chown mysql:mysql /var/run/mariadb

如果不创建分别会出现如下错误:

2016-12-07T02:56:33.741622Z mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.

touch: 无法创建"/var/log/mariadb/mariadb.log": 没有那个文件或目录

chmod: 无法访问"/var/log/mariadb/mariadb.log": 没有那个文件或目录

[ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2 - No such file or directory)

 

 

5、修改 my.cnf 配置文件

将 my.cnf 文件的 [mysqld] 下的socket,修改为 socket=/tmp/mysql.sock

# vi /etc/my.cnf

[mysqld]

socket=/tmp/mysql.sock

否则,连接的时候会出现以下问题:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

 

 

6、初始化数据库 

# cd /usr/local/mysql

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

出现以下语句表示成功,并显示root临时密码。

2016-12-07T02:56:02.996240Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2016-12-07T02:56:04.248210Z 0 [Warning] InnoDB: New log files created, LSN=45790

2016-12-07T02:56:04.448723Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2016-12-07T02:56:04.528814Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: b192ea07-bc28-11e6-bde9-005056893892.

2016-12-07T02:56:04.533654Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2016-12-07T02:56:04.535322Z 1 [Note] A temporary password is generated forroot@localhost: e_q:o+ief66M

 

 

 

9、设置系统自动启动

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

# chkconfig --add mysqld
# chkconfig --level 2345 mysqld on

 

 

10、添加环境变量

# vi /etc/profile

在最后添加

export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"

刷新环境变量

# source  /etc/profile

至此可以使用 service mysqld start | stop 来启停mysql 服务了。

 


7、启动数据库

# ./bin/mysqld_safe --user=mysql

如果出现:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '***' (2)错误,原因1. mysqld 没有启动,service mysqld start

查看日志是否成功:

# cat /var/log/mariadb/mariadb.log

2016-12-07T02:58:19.324018Z 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections.

Version: '5.7.16'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL)

 

 

8、修改root用户密码

# ./bin/mysql -uroot -p

mysql> 

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';

mysql> flush privileges;

 

 

11、修改mysql,修改字符集编码为utf8,设置大小写不敏感

# vi /etc/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/var/lib/mysql

socket=/tmp/mysql.sock

 

lower_case_table_names=1   --此处为修改字符集

character_set_server=utf8 

init_connect='SET NAMES utf8'              --此处为英文单引号,博客显示问题。

 

 

12、重启数据库

 

# service mysqld stop

Shutting down MySQL.. SUCCESS! 

# service mysqld start

Starting MySQL. SUCCESS!

 

posted @ 2017-07-25 09:45  aaron_agu  阅读(373)  评论(0编辑  收藏  举报