您的位置:首页 > 运维架构 > Linux

linux环境Mysql 5.7.13安装教程

2017-03-04 21:19 309 查看
linux环境Mysql 5.7.13安装教程

1系统约定

安装文件下载目录:/data/software

Mysql目录安装位置:/usr/local/mysql

数据库保存位置:/data/mysql

日志保存位置:/data/log/mysql

2下载mysql

在官网:http://dev.mysql.com/downloads/mysql/ 中,选择以下版本的mysql下载:





执行如下命名:

#mkdir /data/software

#cd /data/software

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

注:安装过程中如果系统缺少libaio 需要安装如下文件:

3解压压缩包到目标位置
# mkdir /usr/local/mysql

#cd /dat/software

#pwd

执行后如下:



#ls





#cd /usr/local

#pwd



# tar -xzvf /data/software/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz





#ls





--修改文件名

# mv mysql-5.7.13-linux-glibc2.5-x86_64 mysql         

#ls



4创建数据仓库目录
--/data/mysql 数据仓库目录

# mkdir /data/mysql         

#ls /data/



5新建mysql用户、组及目录
#      ---新建一个msyql组

# useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql     ---新建msyql用户禁止登录shell

6改变目录属有者
#cd /usr/local/mysql

#pwd

#chown –R mysql .

#chgrp –R mysql .



#chown -R mysql /data/mysql

7配置参数
# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql





 此处需要注意记录生成的临时密码,如上文:YLi>7ecpe;YP

#bin/mysql_ssl_rsa_setup  --datadir=/data/mysql



8修改系统配置文件



# cp my-default.cnf /etc/my.cnf

# cp mysql.server /etc/init.d/mysql



# vim /etc/init.d/mysql

修改以下内容:



# vim /etc/my.cnf

修改以下内容:







9启动mysql



#bin/mysqld_safe --user=mysql &





bin/mysql --user=root –p

--输入第6步生成的临时密码





mysql> set password=password('123456');



mysql>grant all privileges on *.* to root@'%' identified by '123456';

刷新权限

mysql> flush privileges;



mysql> use mysql;

mysql> select host,user from user;



10添加系统路径

# vim /etc/profile

添加:

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

如下:



# source /etc/profile

11配置mysql自动启动
# chmod 755 /etc/init.d/mysql

# chkconfig --add mysql

# chkconfig --level 345 mysql on

查看是否添加成功

# chkconfig --list mysql  

mysqld          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭  

ps:安装过程可能遇到的问题:

1、初始化 MySQL 配置表 

 执行mysql_install_db脚本,对mysql中的data目录进行初始化并创建一些系统表格。

 bin/mysql_install_db --user=mysql

 报错:

 2016-07-15 14:50:14 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize

 2016-07-15 14:50:14 [ERROR]   The data directory needs to be specified.

 需要指定data目录,注意mysql服务进程mysqld运行时会访问data目录,所以必须由启动mysqld进程的用户(就是我们之前设置的mysql用户)执行这个脚本,
 或者用root  执行,但是加上参数--user=mysql。

 上文还有警告信息,说mysql_install_db 命令已经是弃用的,建议切换到mysqld --initialize命令

 注:

 mysql5.7和之前版本不同,很多资料上都是这个命令:../scripts/mysql_install_db
--user=mysql,而mysql5.7的mysql_install_db命令是在bin目录下  的
并且建议  用 mysqld
--initialize命令


 mysql5.7之前版本初始化配置表命令:

 script/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/[b]usr/local[/b]/mysql/data/

 --user  启动mysql的用户

 --basedir  mysql安装目录

 --datadir  mysql数据仓库目录

 ①初始化表配置正确执行步骤:

[plain] view
plain copy

 





[root@rhel5-32 mysql]# mkdir data  

[root@rhel5-32 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  

2016-07-15T09:39:38.166396Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).  

2016-07-15T09:39:38.166941Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.  

2016-07-15T09:39:38.166976Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.  

2016-07-15T09:39:39.486697Z 0 [Warning] InnoDB: New log files created, LSN=45790  

2016-07-15T09:39:39.699652Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.  

2016-07-15T09:39:39.767191Z 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: 0d154f38-4a70-11e6-8670-005056913e3a.  

2016-07-15T09:39:39.771851Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.  

2016-07-15T09:39:39.773073Z 1 [Note] A temporary password is generated for root@localhost: i7YCy.:jv6yr  

 注意最后一行,这也是和之有版本不同的地方,它给了root一个初始密码,后面要登录的时候要用到这个密码。
2、mysql5.7配置文件需要修改my.cnf关键配置, mysql5.7之前默认配置文件中是有配置项的,不用手动修改

[plain] view
plain copy

 





[mysqld]  

basedir = /usr/local/mysql  

datadir = /usr/local/mysql/data  

port = 3306  

socket = /usr/local/mysql/tmp/mysql.sock  

   

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES  

 注意,tmp目录不存在,请创建之。否则会出错     创建后要赋予mysql权限,chown -R mysql:mysql tmp 

 如果mysql.sock指定到/tmp以外的目录,需要在my.cnf中添加[client]并且指定socket位置,

 否则登录mysql时会报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

 应该是,默认会找tmp目录下的sock文件
参考网址:
安装:
http://www.jb51.net/article/87160.htm?pc http://blog.csdn.net/bao19901210/article/details/51917641
Linux常用命令
http://blog.csdn.net/wojiaopanpan/article/details/7286430/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: